2011-06-03 16 views

Respuesta

62

String.Format("{0:0%}", 0.10)

+0

Simp no sea que la expresión me funcione! –

+0

cosas increíbles! De hecho, el mismo principio se aplica al formato de moneda también ... – stt106

0

Prueba este lugar:

0.1.ToString ("0%")

+0

Esto funciona, pero quiero usar Format() –

6

Si estás bien con no usar Format() usted podría hacer 0.10F.ToString("0%");.

+2

'0.00%' si quieres dos decimales. – cprcrack

0

Cambia la información cultural.

Para algunas culturas Muestra% 10,% 10, 10%, 10%, 0,1, 0,10, 0,1, 0,10 ...

voy a comprobar qué CultureInfo le da "10%"

24

uso del NumberFormatInfo.PercentPositivePattern Property:

NumberFormatInfo numberInfo = new NumberFormatInfo(); 
numberInfo.PercentPositivePattern = 1; 
Console.WriteLine(String.Format("{0}", 0.10.ToString("P0",numberInfo))); 
+0

Esto también funciona, cosas buenas, ¡he aprendido algo nuevo! –

+0

funciona! establecer .PercentPositivePattern = 1; resuelve el problema. –

+1

No se puede usar en XAML. – Den

4

mejorar única respuesta @Jay Riggs, y porque no tienes la reputación suficiente sólo para comentar, Me pase con:

String.Format(numberInfo, "{0:p0}", 0.10); 

Creo que de esta manera se cubre situaciones en las que hay que dar formato a más de un valor:

String.Format(numberInfo, "{0:p0} {1:p0}", 0.10, 0.20); 
2
String.Format("{0:p0}",0.10).Replace(" ",""); 
Cuestiones relacionadas