debigging
Goto Top

VisualBasic Problem mit Addierung von Nachkommastellen

Hallo zusammen,

Ich habe ein Problem bei meinem Programm. Um eine Oberfläche zu berechnen lasse ich aus verschiedene Werte mit Hilfe von Math.Sqrt eine Wurzel ziehen.Das Ergebnis davon besitzt dann xxx Nachkommastellen.

Das Problem ist wenn man mehrere Ergebnisse mit Nachkommastellen zu einer zusammen Rechnen lassen will .. kommen immer nur abgerundete GANZE Ergebnisse raus.


Hier ein vereinfachtes Beispiel meines Problems.

e96e3c9201c36d46171c7c881219e1b5



Source-Code:

Dim Länge As String = TextBox1.Text
Dim Breite As String = TextBox2.Text
Dim Höhe As String = TextBox3.Text

Dim K As String = Math.Sqrt(Val(Breite) ^ 2 / Val(4) + Val(Höhe) ^ 2)
Dim O As String = Val(2) * K * Val(Länge)


TextBox4.Text = O
TextBox5.Text = O

TextBox6.Text = Val(O) + Val(O)


Danke schonmal face-smile

Content-ID: 285502

Url: https://administrator.de/forum/visualbasic-problem-mit-addierung-von-nachkommastellen-285502.html

Ausgedruckt am: 22.04.2025 um 11:04 Uhr

AndreasHoster
Lösung AndreasHoster 14.10.2015 aktualisiert um 14:06:51 Uhr
Goto Top
Aus der Beschreibung der VAL Funktion:

Die Val-Funktion erkennt nur den Punkt (.) als gültiges Dezimaltrennzeichen. Wenn Sie ein anderes Dezimaltrennzeichen benötigen (z. B. für internationale Anwendungen), verwenden Sie stattdessen die Funktion CDbl oder CInt, um eine Zeichenfolge in eine Zahl zu konvertieren.

Außerdem:
Wenn ich rechnen will, dann speichere ich die Zahlen, mit denen ich rechnen will, als Zahlen und konvertiere es erst dann in einen String wenn ich es ausgeben will.
Jedesmal konvertieren kann ja nur zu Fehlern führen. Von der Performance ganz zu schweigen.
122990
Lösung 122990 14.10.2015 aktualisiert um 14:03:27 Uhr
Goto Top
Moin,
weil Val() hier nur Zahlen mit einem Punkt als Dezimalstelle in eine Zahl konvertieren kann. Nehm besser die Konvertierungsfunktionen von Double oder Float je nach maximalen Zahlengrößen.
Double.Parse(Breite)
oder
Convert.ToDouble(Breite)
oder
CDbl(Breite)
Gruß grexit
DeBigging
DeBigging 14.10.2015 um 14:03:54 Uhr
Goto Top
So einfach kanns sein :D vielen dank face-smile