varias sumar sacar porcentajes porcentaje para numeros fórmula entre cuál como celdas calcular c# string-formatting

c# - sumar - ¿Por qué el especificador de formato de porcentaje se multiplica por 100?



formula para sumar porcentaje en excel (3)

(no se pudo encontrar duplicado)

Alguien sabe por qué:

http://msdn.microsoft.com/en-us/library/dwhawy9k.aspx#PFormatString

El formato de cadena ''p'' para porcentaje, ¿multiplica el valor por 100 antes de formatearlo con el signo de porcentaje?

El especificador de formato de porcentaje ("P")

El especificador de formato de porcentaje ("P") multiplica un número por 100 y lo convierte en una cadena que representa un porcentaje. El especificador de precisión indica el número deseado de lugares decimales. Si se omite el especificador de precisión, se utiliza la precisión numérica predeterminada proporcionada por la propiedad PercentDecimalDigits actual.

¿Hay alguna forma de evitar que el valor se multiplique por 100 antes de formatear? En lugar de hacer:

(value / 100).ToString("p")


En cuanto al por qué , "porcentaje" significa literalmente "de cien", por lo que 50% es matemáticamente equivalente a 0.50 . En cuanto al formato, ¿por qué no simplemente agregar un signo de porcentaje?

value + "%"

... o algo como esto:

value.ToString("#.00//%")


Normalmente trabajas con porcentajes decimales dentro del código, como 0.5 y 1.0 , pero al usuario le gusta ver buenos números enteros con un signo de porcentaje al final.

Porcentaje significa "de 100 " y claramente sus porcentajes decimales son de 1 . Por lo tanto, .ToString("p") multiplica su número por 100 y luego agrega un signo de porcentaje.

Es sólo la definición.


Si no desea multiplicar el valor por 100, solo desea el porcentaje% además del valor ingresado, es decir, VALUE.00% si el valor ingresado de manera predeterminada es de 0.00%, entonces la respuesta es

PERCENTAGE_FORMAT = "# 0.00 /%";

¡Definitivamente funcionó para mí!