Darstellung von Gleitpunktzahlen

wewa

Mitglied
Hallo!

Gibt es eine Möglichkeit, dass ich in Visual Basic 6 die Darstellung von Gleitpunktzahlen (z.B. in Textfeldern) beeinflusse?.

Genau gesagt möchte ich, dass Zahlen anstatt in diesem Format 3,34E-02 so: 0.0334 dargestellt werden. Auch die Verwendung eines Punktes wäre zu bevorzugen (derzeit ersetze ich das "Komma" unter Verwendung von Replace() durch einen "Punkt").

Danke für jede Hilfe!

PS: Die Gleitpunktzahl ist vom Format Single und wird vor der Ausgabe mit CStr() konvertiert.
 
Hallo!

Gibt es eine Möglichkeit, dass ich in Visual Basic 6 die Darstellung von Gleitpunktzahlen (z.B. in Textfeldern) beeinflusse?.

Genau gesagt möchte ich, dass Zahlen anstatt in diesem Format 3,34E-02 so: 0.0334 dargestellt werden. Auch die Verwendung eines Punktes wäre zu bevorzugen (derzeit ersetze ich das "Komma" unter Verwendung von Replace() durch einen "Punkt").

Danke für jede Hilfe!

PS: Die Gleitpunktzahl ist vom Format Single und wird vor der Ausgabe mit CStr() konvertiert.

Die Format Funktion ist dein Freund

Dim mySingle as Single

txtResult.Text=Replace(Format(mySingle, "0.00000"),",",".") 'Für 5 Nachkomma-Stellen

Ob jetzt Komma oder Punkt verwendet wird hängt mit den Ländereinstellungen zusammen. Wie man diese jetzt aber übergeht weiss ich auch nicht, daher auch das Replace
 
Danke für den Tipp, funktioniert.
Man muss die Zahl aber zuerst in einen String konvertieren bevor man sie ausgibt, damit die Formatierung greift. Also so:
txtResult.Text=Replace(Format(CStr(mySingle), "0.00000"),",",".")
 
Danke für den Tipp, funktioniert.
Man muss die Zahl aber zuerst in einen String konvertieren bevor man sie ausgibt, damit die Formatierung greift. Also so:
txtResult.Text=Replace(Format(CStr(mySingle), "0.00000"),",",".")

Nicht ganz korrekt! Der Rückgabewert der Format-Funktion ist ein Variant.

Wenn du explizit einen String brauchst müsste die CStr ausserhalb der Format-Funktion stehen, also eher so:

txtResult.Text=Replace(CStr(Format(mySingle, "0.00000")),",",".")
 
Zurück