So formatieren Sie eine Dezimalzahl ohne nachfolgende Nullen
Ich habe gerade gelernt, dass eine Dezimalzahl irgendwie erinnert sich, wie viel trailaing zero ' s waren nötig, um eine Nummer zu speichern. Mit anderen Worten: es erinnert sich an die Größe der Fraktion.
Beispiel:
123M.ToString() ==> resuls in: 123
123.00M.ToString() ==> resuls in: 123.00
123.450M.ToString() ==> resuls in: 123.450
Ich bin auf der Suche nach einem Formatierungs-string oder einen anderen trick, um loszuwerden, die "nicht benötigte" nachfolgende Nullen, aber halten die signifikanten Ziffern. Also:
123M.ToString() ==> resuls in: 123
123.00M.ToString() ==> resuls in: 123
123.450M.ToString() ==> resuls in: 123.45
Entfernen der Nullen am Ende der neuen saite ist keine wirkliche option für mich, weil dann habe ich, um herauszufinden, ob der string enthält nur einen Bruchteil und wenn ja, auch haben zu entfernen, die optional '.' oder ',' abhängig von der Kultur, etc.
- Ich denke, die beste Antwort zu diesem Thema diese eine
- Mögliche Duplikate von " Entfernen Nullen nach dem Komma, die ist älter und hat bessere Antworten und Kommentare.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es mehrere Möglichkeiten, es zu tun, aber da Sie die Umwandlung in ein String-Objekt wie auch immer, ich nehme an, Sie könnten versuchen, so etwas wie dieses:
myDecimalVariable.toString("G29");
oder, die mit Ihrem code oben, vorausgesetzt
123.00M
ist Ihre dezimal:123.00M.toString("G29");
Hier ist die Erklärung, wie das prägnante Beispiel funktioniert:
"G0"
funktioniert auf die gleiche Weise. Siehe Standard Numeric Format Strings - Der General ("G") - Format-Bezeichner.nur für die Formatbezeichner null und entfernen Sie die nachfolgende Nullen:
Trim('0')
führt0.5m
formatiert als.5
eher als0.5
.Trim('0')
auch Formate123.00m
als123.