kommastellen

J

Johannes Postler

hallo leute

kann mir jemand sagen, wie ich rausbekomme, wieviel kommastellen eine zahl hat?

thx
tirolausserfern
 
Also nen einfachen befehl kenn ich net ... aber man könnte das auch anders machen.
Wenn die Zahl z.B in einer Textbox steht, suchst du mit Instr(Text1.Text, ",") nach der stelle des kommas.
Dann ziehst du diese Zahl von Len(text1.text) ab und hast die stringlänge nach dem komma.
Wahrscheinlich geht das auch viel einfacher, aber ich kenn keinen direkten Befehl mit dem man das machen kann.
 
Ja die Möglich keit von Justus ist ok, wenn die Zahl in einer Textbox steht, aber wenn du sie nur im Programm verwendest in einer Variablen geht das ein wenig anders, aber ähnlich. Du musst die Zahl in einen String umwandeln und dann schauen wo das Komma ist. Ich schreib mal einen Code rein, der eine Funktion enthält, die als Rückgabewert die Anzahl der Stellen hat:


Option Explicit
Dim zahl As Double
Dim kommastellen As Integer
Private Sub Form_Load()

zahl = 3.12345678
kommastellen = stellen(zahl)
MsgBox (kommastellen)
End Sub
Private Function stellen(zahl As Double) As Integer
Dim str_zahl As String
Dim str_temp As String
str_zahl = CStr(zahl)
Dim i As Integer
Dim komma As Boolean
komma = False
For i = 1 To Len(str_zahl)
If komma = True Then str_temp = str_temp + Mid(str_zahl, i, 1)
If Mid(str_zahl, i, 1) = "," Then komma = True
Next i
stellen = Len(str_temp)
End Function



Gruss Homer
 
danke homer
kann mir jetzt noch jemand sagen, wie ich es machen kann, dass das prog. von einer zahl soundsoviele kommastellen löscht??

cu tirolausserfern
 
Zuletzt bearbeitet von einem Moderator:
@ tirolausserfern

Da musst du die Funktion von mir einfach ein wenig umgestallten, d.h. du "schneidest" einfach so und soviele Kommastellen hinten ab, danch wandelst du die Zahl wieder in einen double-Wert um mit CDbl(sting), wenn du damit rechnen willst.

Gruss Homer
 
bin inzwischen auf einen anderen weg draufgekommen:
variable = format(variable, "#,##0.00")

cu tirolausserfern
 

Neue Beiträge

Zurück