Frage

Wenn double.Parse verwendet, scheint es Zeichenfolge zu mögen weg alle nachgestellten (unbedeutend) Nullen aus dem String, dass ich zu konvertieren. Ich würde gerne double.Parse nach dem Komma an Orte zu halten. Zum Beispiel, hier ist ein Code:

tobereturned.MouseSensitivty = double.Parse(String.Format("{0:#.##}", tempstring[1]));
Debug.WriteLine("Converted " + String.Format("{0:#.##}", tempstring[1]) + " to " + tobereturned.MouseSensitivty);

Der Debugger dann schreibt

Converted 4,00-4

So wie es scheint, double.Parse is fischig hier etwas zu tun. P. S. MouseSensitivity ist auch vom Typ double, so dass ich keine String-Operationen auf sie tun können.

War es hilfreich?

Lösung

Ihre Frage ist sinnlos. Doubles nicht Haben „Nachkomma“ an erster Stelle. Sie speichern nicht alles, das aussieht wie eine remote „Dezimal-Darstellung einer Zahl“ intern. In der Tat, speichern sie nichts intern, dass selbst sieht aus wie erkennbar Text.

Es meldet 4, weil 4.00 genau gleich 4. Es wird die Anzeige die Nummer „genau vier ohne Bruchteil“ als Text nach den Standardregeln für die Zahlen in Text umgewandelt werden.

Bitte lesen Sie diese . Ja, es ist lang und schwierig, aber es ist einfach nicht möglich Gleitkommazahlen numerische Typen richtig , ohne ein wirkliches Verständnis dieses Materials zu verwenden - und es funktioniert nicht egal, was Sprache Sie verwenden, auch nicht.

Andere Tipps

Der double Datentyp ist einfach eine Nummer; es nicht im Auge behält die Zeichenfolge, die analysiert wurde, den Wert zu erstellen. Seine String-Darstellung kommt nur ins Spiel, wenn .ToString() genannt wird.

Wenn Sie wissen, Sie können immer zwei Stellen nach dem Komma mögen sie Füllung mit Nullen.

es nicht die Aufgabe des Doppeltypen, den Überblick über die gewünschte Anzeigeformat zu halten.

Double speichert keine redundanten Nullen. Ihrer Ansicht nach oder Präsentationsschicht, können Sie es zu formatieren Sie zeigen möchten, es erscheinen, zum Beispiel String.Format ( „{0:. # ##}“, doubleVariable)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top