Όταν εμφανίζετε την τιμή ενός δεκαδικού ψηφίου με την .ToString()
, είναι ακριβές σε 15 δεκαδικά ψηφία, και δεδομένου ότι το χρησιμοποιώ για να αναπαραστήσω δολάρια και σεντς, θέλω η έξοδος να είναι μόνο 2 δεκαδικά ψηφία.
Μπορώ να χρησιμοποιήσω μια παραλλαγή της .ToString()
για αυτό;
decimalVar.ToString ("#.##"); // returns "" when decimalVar == 0
ή
decimalVar.ToString ("0.##"); // returns "0" when decimalVar == 0
Αν το χρειάζεστε μόνο για εμφάνιση, χρησιμοποιήστε το string.Format
String.Format("{0:0.00}", 123.4567m); // "123.46"
http://www.csharp-examples.net/string-format-double/
Το "m" είναι ένα δεκαδικό επίθημα. Σχετικά με το δεκαδικό επίθημα: