2012-09-06 12 views

Antwort

17

1.4 ist die gleiche wie 1.40 - Sie wollen einfach nur anders angezeigt werden soll. Verwenden Sie ein Format-String, wenn ToString Aufruf - wie value.ToString("0.00")

+0

Korrekt. Ich möchte es nur anders darstellen. Vielen Dank! – Blade3

12

1.4 == 1.40 Wenn Sie die Zahl..i.e. formatiere es in eine Zeichenkette.

.ToString("N2"); 
5

Die Hinter Null ist eher eine Formatierung als ein Wert Problem, so verwenden

foo.ToString("0.00") 
2

Die Hinter Null nur eine Präsentation ist. Mathematisch sind 1.40 und 1.4 gleichwertig.

Verwenden Formatierung, statt es mit den zwei Dezimalstellen zu präsentieren:

String.Format("{0:0.00}", 1.4); 

or 

yourNumber.ToString("0.00"); 
1

Es ist eine Zahl, so dass es keine Hinter Null hat - Sie können es Text und Kraft machen müssen (Doppel?) eine nachlaufende Null.

2

Ich weiß, das ist eine alte Frage, aber könnte jemand helfen!

Ich benutze eine C# xml-Klasse zu füllen und dann zu xml serialisieren. Einer der Werte ist ein Doppel. Wenn ich dem Wert eine '7' zuweise, wird diese auf '7' serialisiert, wenn ich tatsächlich '7.00' benötige. Der einfachste Weg, runden das war genau das zu tun:

foo = doubleValue + 0.00M 

Und das macht den Wert 7,00 statt nur 7. dachte, das war besser als ein ToString tun und es dann wieder Parsen.

0

Es hat damit zu tun, ob Sie eine Dezimalzahl oder ein Doppel verwenden.

Während intern (wie geht aus der Source Code) Math.Round() die nachfolgenden Nullen sogar auf einer Doppel bewahrt, noch die Tatsache, dass sie als Doppel gespeichert wird automatisch alle nachfolgenden Nullen Speicher verursacht

Also, wenn Sie entfernen Möchten Sie Tailing-Nullen verwenden, können Sie entweder die Zeichenfolgenanzeigefunktionen verwenden, um sie zu formatieren, da andere geantwortet haben, oder sicherstellen, dass der ursprüngliche Wert als Dezimalzahl übergeben wird (intern wird Decimal.Math.Round verwendet, was nur Dezimalstellen betrifft) das Ergebnis nicht zu einem Doppel zu machen und es auch nicht in einer Doppelvariablen zu speichern.

In ähnlicher Weise, wenn Sie eine Dezimalzahl haben und keine nachgestellten Nullen wollen, werfen Sie sie einfach auf ein Double (Sie können entweder die Eingabe an Math.Round oder das Ergebnis, es spielt keine Rolle so lange wie irgendwo im Weg es wird ein Doppel).

Verwandte Themen