Warum gibt 0.ToString ("#. ##") eine leere Zeichenfolge anstelle von 0.00 oder mindestens 0 zurück?
Warum 0.ToString("#.##")
wird ein leerer string zurückgegeben? Sollte es nicht 0.00
oder mindestens 0?
InformationsquelleAutor der Frage user960567 | 2012-01-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
#
im string-format zeigen, dass der Wert optional ist. Wenn Sie möchten, um die Ausgabe0.00
benötigen Sie Folgendes:Sehen hier für die benutzerdefinierte numerische Formatedie übergeben werden kann, um diese Methode.
InformationsquelleAutor der Antwort Rich O'Kelly
Weil in einem format-string, der
#
wird verwendet, um anzuzeigen, dass ein beliebiges Zeichen Platzhalter; es wird nur verwendet, wenn benötigt repräsentieren die Anzahl.Wenn Sie dies tun, statt:
0.ToString("0.##");
erhalten Sie:0
Interessanterweise, wenn Sie dies tun:
0.ToString("#.0#");
erhalten Sie:.0
Wenn Sie möchten, dass alle drei Ziffern:
0.ToString("0.00");
produziert:0.00
Aus den Kommentaren zu dieser Antwort, aber dein argument scheint zu sein,
Die Antwort ist einfach: Sie haben die Wahlwie Sie es wünschen, werden angezeigt. Das ist es, was die benutzerdefinierten Formatzeichenfolgen für. Sie haben sich einfach dafür entschieden das falsche format-string für Ihre Bedürfnisse.
InformationsquelleAutor der Antwort Andrew Barber
Laut der Dokumentation über den ziffernplatzhalter.
Wenn Sie möchten, dass die null-Anzeige in der Null Platzhalter
InformationsquelleAutor der Antwort Miguel Madero
Versuchen, diese
0.ToString("#,##; #,##;0")
https://docs.microsoft.com/en-us/dotnet/standard/base-types/custom-numeric-format-strings#SectionSeparator
Der erste Abschnitt gilt für positive Werte, der zweite Abschnitt für negative Werte und der Dritte Abschnitt bezieht sich auf die Nullen.
InformationsquelleAutor der Antwort nektobit