varias sumar sacar porcentaje para fórmula formato cuál convertir como celdas c# decimal string.format formatprovider

c# - sumar - ¿Formato decimal para valores porcentuales?



formula para sumar porcentaje en excel (3)

He encontrado que la respuesta anterior es la mejor solución, pero no me gusta el espacio inicial antes del signo de porcentaje. He visto soluciones algo complicadas, pero solo uso esta opción Reemplazar a la respuesta anterior en lugar de usar otras soluciones de redondeo.

String.Format("Value: {0:P2}.", 0.8526).Replace(" %","%") // formats as 85.26% (varies by culture)

Lo que quiero es algo como esto:

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

Donde %% es ese proveedor de formato o lo que sea que esté buscando. Debe resultar: Value: %85.26. .

Básicamente lo necesito para wpf binding, pero primero resuelvamos el problema general de formato:

<TextBlock Text="{Binding Percent, StringFormat=%%}" />


Si tiene una buena razón para dejar de lado el formato dependiente del cultivo y obtener un control explícito sobre si hay un espacio entre el valor y el "%", y si el "%" está al PercentPositivePattern o al final, puede usar el PercentPositivePattern de PercentPositivePattern y Propiedades de PercentNegativePattern .

Por ejemplo, para obtener un valor decimal con un "%" posterior y sin espacio entre el valor y el "%":

myValue.ToString("P2", new NumberFormatInfo { PercentPositivePattern = 1, PercentNegativePattern = 1 });

Un ejemplo más completo:

using System.Globalization; ... decimal myValue = -0.123m; NumberFormatInfo percentageFormat = new NumberFormatInfo { PercentPositivePattern = 1, PercentNegativePattern = 1 }; string formattedValue = myValue.ToString("P2", percentageFormat); // "-12.30%" (in en-us)


Use la cadena de formato P Esto variará según la cultura:

String.Format("Value: {0:P2}.", 0.8526) // formats as 85.26 % (varies by culture)