Fonksiyonun avantajlarından biri de, integer değeri (~2.5) milyon aşıldığı zaman, string değere geçip string olarak hesaplamasıdır.
Böylecek büyük rakamlar da kolayca hesaplanabilir.
Hazırladığım fonksiyon:
Private Shared Function Faktoriyel(ByVal Num As String) As String
Dim Sıfır As Integer = 0
Dim Bir As Integer = 1
Dim i As Integer
Dim Faktöriyel As Integer = 1
Dim Faktöriyel2 As String = 1
If Num = Sıfır Then
Return 1
ElseIf Num = Bir Then
Return 1
ElseIf Num < Sıfır Then
Exit Function
ElseIf Not Num <> Nothing Then
Exit Function
End If
If Num > Bir Then
Try
For i = 1 To Num
Faktöriyel = Faktöriyel * i
Next i
Catch
If Num >= 13 Then
For i = 1 To Num
Faktöriyel2 = Faktöriyel2 * i
Next i
Return "Integer degeri aşıldı. String değeri: " & Faktöriyel2
Else
For i = 1 To Num
Faktöriyel = Faktöriyel * i
Next i
Return Faktöriyel
End If
End Try
End If
Return Faktöriyel
End Function
Kullanım şekli:
txtToplam.Text = Faktoriyel(13)
Son düzenleme: