[c#] Cadena de formato numérico personalizado para mostrar siempre el signo



Answers

Tenga cuidado, cuando utiliza el formato condicional, el valor negativo no recibe automáticamente un signo. Necesitas hacer

string MyString = number.ToString("+#;-#;0");
Question

¿Hay alguna manera de que pueda especificar una cadena de formato numérico estándar o personalizada para que siempre se emita el signo, ya sea + ve o -ve (aunque no estoy seguro de qué debería hacer para cero).




Contrariamente a las otras respuestas, parece que si quieres obtener +1, -1, +0 (para los argumentos 1, -1, 0) necesitas usar el formato:

String.Format("{0:+#;-#;+0}", 0));  // output: +0

o

String.Format("{0:+0;-#}", 0));  // output: +0

Si usa simplemente +#;-# , mostrará solo + (no +0 ) para 0.

El "#" Custom Specifier (en https://msdn.microsoft.com/en-us/library/0c899ak8.aspx )

Tenga en cuenta que este especificador nunca muestra un cero que no sea un dígito significativo, incluso si cero es el único dígito en la cadena. Mostrará cero solo si es un dígito significativo en el número que se muestra.

También tenga en cuenta que si necesita precisión decimal, debe especificarla así:

String.Format("{0:+0.##;-#.##}", 0));  // output: +0

o, si quiere ceros para aparecer siempre, así:

String.Format("{0:+0.00;-#.00}", 0));  // output: +0.00



Related