2012-01-25 10 views

risposta

170

# nel formato stringa indicano che il valore è facoltativo. Se si desidera ottenere l'output 0.00 è necessario quanto segue:

0.ToString("0.00"); 

Vedi here for the custom numeric formats che può essere passato a questo metodo.

+1

Una cosa mi ha ancora confuso perché il risultato non è 0. Perché 0 non è opzionale. Vuoto ha senso? – user960567

126

Perché in una stringa di formato, lo # viene utilizzato per indicare un segnaposto di carattere facoltativo; viene utilizzato solo se è necessario per rappresentare il numero.

Se fate questo, invece: 0.ToString("0.##"); si ottiene: 0

È interessante notare che, se si fa questo: 0.ToString("#.0#"); si ottiene: .0

Se si desidera che tutte le tre cifre: 0.ToString("0.00"); produce: 0.00


Dai commenti a questa risposta, il tuo argomento sembra essere,

dovrebbe mostrare "0", perché mai qualcuno dovrebbe voler vedere una stringa vuota se il valore numerico è 0?

La risposta è semplice: Avete la scelta come si desidera che venga visualizzato. Ecco a cosa servono le stringhe di formato personalizzato. Hai semplicemente scelto la stringa di formato errata per le tue esigenze.

20

Secondo la documentazione sul segnaposto delle cifre .

Se il valore viene formattato ha una cifra nella posizione in cui il '#' appare nella stringa di formato, quindi quella cifra viene copiato la stringa risultato. In caso contrario, nulla è memorizzato in quella posizione nella stringa del risultato. Questo identificatore non visualizza mai il carattere '0' se non è una cifra significativa, anche se '0' è l'unica cifra nella stringa. Sarà visualizzare il carattere '0' se è una cifra significativa nel numero visualizzato. La stringa di formato "##" fa sì che il valore sia arrotondato alla cifra più vicina che precede lo il decimale, dove viene sempre utilizzato l'arrotondamento da zero. Ad esempio, la formattazione 34.5 con "##" comporterebbe il valore 35.

Se si vuole lo zero per visualizzare utilizzare il Zero PlaceHolder

f il valore viene formattato ha una cifra nella posizione in cui appare lo "0" nella stringa di formato, tale cifra viene copiata nella stringa del risultato. La posizione dello "0" più a sinistra prima del punto decimale e lo "0" più a destra dopo il punto decimale determina l'intervallo di cifre che sono sempre presenti nella stringa del risultato.
L'identificatore "00" fa arrotondare il valore alla cifra più vicina che precede il decimale, dove viene sempre utilizzato l'arrotondamento da zero. Ad esempio, la formattazione di 34.5 con "00" risulterebbe nel valore 35.

Problemi correlati