|
Die Anzahl der Ziffern einer Zahl als Ganzes zu ermitteln scheint ja kein Problem zu sein:
Debug.Print Len(Zahl)
Doch halt! Das gilt nur für Ganze Zahlen - Sie müssten gegebenenfalls das Dezimaltrennzeichen abziehen (das ja nicht überall in der Welt ein Komma ist):
Public Function CountAllDigits(ByVal Num As Variant) As Long
If InStr(CStr(Num), Format$(0, ".")) Then
CountAllDigits = Len(Num) - 1
Else
CountAllDigits = Len(Num)
End If
End Function
Wenn Sie nur an der Anzahl der Ziffern des ganzzahligen Anteils einer Zahl interessiert sind, schneiden Sie einfach die Nachkommastellen ab:
Public Function CountDigits(ByVal Num As Variant) As Long
CountDigits = Len(CStr(Fix(Num)))
End Function
Und falls Sie umgekehrt nur an der Anzahl der Nachkommastellen interessiert sind, ziehen Sie den ganzzahligen Anteil von der Zahl ab:
Public Function CountDecimals(ByVal Num As Variant) As Long
CountDecimals = Len(CStr(CDec(Num) - CDec(Fix(Num)))) - 2
End Function
|