2011-02-21 33 views
5

¿Es posible especificar los parámetros string.Format() para agregar un símbolo de porcentaje sin cambiar el valor del número?Mostrar el número de coma flotante como un porcentaje sin cambiar el valor del número

Ejemplo:
tenemos el número 44.36 y queremos mostrar en una cuadrícula y la salida a Excel como . Dividir el valor por 100 y luego aplicar el formato "P" no es una opción. No es posible cambiar los valores en este caso, solo debemos hacerlo cambiando el valor DisplayFormat. El uso de string.Format("{0}%", valueParam) tampoco es una opción.

Respuesta

11

Especifique un formato personalizado. Necesitará escapar del signo de porcentaje '%' con una barra invertida literal '\\' para que no reinterprete el valor como un porcentaje.

var number = 44.36m; 
var formatted = number.ToString("0.##\\%"); // "44.36%" 
// format string @"0.##\%" works too 

// using String.Format() 
var sformatted = String.Format("{0:0.##\\%}", number); // "44.36%" 
Cuestiones relacionadas