2010-12-22 111 views

Respuesta

31

De Standard Numeric Format Strings

El número se convierte en una cadena de la forma "-d, ddd, ddd.ddd ...", donde '-' indica un símbolo número negativo si necesaria, ' d 'indica un dígito (0-9), ', 'indica un separador de mil entre grupos de números, y'. ' indica un símbolo de punto decimal.

Parece que N incluirá miles de separadores, mientras que 0.00 no lo hará.

Ver también Custom Numeric Format Strings

11

Básicamente, ToString("N2") utilizará el CultureInfo dar formato al número. Esto significa que su separador de miles puede ser diferente dependiendo del CultureInfo usado. También puede pasar el CultureInfo deseado si lo desea.

3

El separador de mil es un problema. Usar "n2" le dará 3,543 donde usar "0.00" le dará 3543. La coma puede desglosar el código de flujo descendente que podría tener que analizar ese valor a un decimal, especialmente js del lado del cliente.

+1

realidad "N2" imprimirá " 3,543.00 ". – Dror

-3

Aquí es ejemplo para explicar

int rupees=567.3423; 
string rp=rupees.tostring("N2"); 

--answer es rp="567.34"; - N2 da hasta dos decimales registros.

7

Se trata de las cifras decimales

N2 funcionará de la misma manera para 500.00, pero cuando se tiene 5000.00, N2 se mostrará como

5.000,00

en lugar de

5000.00

Ver Standard Numeric Format Strings para más información.

+0

Esto puede cambiar según la cultura. En pt-BR, serían 500,00 y 5,000,00 –

2

Ambos le ofrecen dos cifras decimales, pero se puede ver la diferencia fácilmente si marca un número mayor:

var d = 1234567.89; 
for (var i = 0; i < 10; ++i) { 
    Console.WriteLine(d.ToString("N2") + "\t" + d.ToString("0.00")); 
    d /= 10.0; 
} 

salidas

1.234.567,89 1234567,89 
123.456,79 123456,79 
12.345,68 12345,68 
1.234,57 1234,57 
123,46 123,46 
12,35 12,35 
1,23 1,23 
0,12 0,12 
0,01 0,01 
0,00 0,00 

Execute code online at dotnetfiddle.net

Cuestiones relacionadas