2010-06-09 21 views
10

tengo un que se genera a partir de la diferencia de 2 números, pero devuelve por ejemplo 0,07 para 7% y 0,5 para 50% solo quiero arreglar para llegar a estos goos, como 15,2% 13 % y así. ¿Cómo puedo hacer eso? do C# tiene algo embebido en CLR para hacer eso?Convertir decimal a porcentaje o desplazar decimales. Cómo

+1

¿Quiere decir, que no sea multiplicando el resultado por 100? – BlairHippo

Respuesta

19

Puede usar el Percentage personalizado Numeric Format String. Esto lo hará sin que tengas que multiplicarte.

Por ejemplo, se puede hacer:

double value = 0.152; 
string result = value.ToString("#0.##%"); 

Si la configuración regional se establece en Europa (mi conjetura basada en el valor de formato que escribió), obtendrá una cadena con el valor de "15,2 % ".

También puede simplemente usar el Porcentaje estándar ("P") Format String, si está satisfecho con el formateo predeterminado.

+0

Estoy de acuerdo en que esta es la mejor respuesta, me había olvidado de eso. –

2

Tome un vistazo aquí: Custom Numeric Format Strings

double number = .2468013; 
Console.WriteLine(number.ToString("P", CultureInfo.InvariantCulture)); 
// Displays 24.68 % 
Console.WriteLine(number.ToString("P", 
        CultureInfo.CreateSpecificCulture("hr-HR"))); 
// Displays 24,68%  
Console.WriteLine(number.ToString("P1", CultureInfo.InvariantCulture)); 
// Displays 24.7 % 
Cuestiones relacionadas