Aplicar formatos condicionales a numeros con string.Format

.NET

Esto es algo que descubrí hoy referente a formateo de números en .NET y que por más simple que parezca, tiene mucha utilidad, ya que puede reducir un bloque de 3 o 6 líneas de código, a una sola línea.

En lugar de necesitar varios if’s para evaluar el valor del número que vamos a formatear y poder determinar el formato que se va a aplicar (desplegar el número entre paréntesis si es negativo, desplegar la palabra Cero si el número es 0, etc), se puede hacer todo el una sola línea, ya que el metodo ToString() permite formatos condicionales de 2 o 3 condiciones…es decir, podemos hacer esto:


const string formato = "000;(##);Cero";

 Console.WriteLine(7.ToString(formato)); // va a desplegar "007"
 Console.WriteLine((-5).ToString(formato)); // va a desplegar "(5)"
 Console.WriteLine(0.ToString(formato)); // va a desplegar "Cero"

Formatos condicionales en .NET usando ToString()

Formatos condicionales en .NET usando ToString()

El formato entonces es:  “positivo;negativo;cero”.

También es posible especificar solo el formato positivo y negativo.

Espero les sirva.

Leave a Reply

Your email address will not be published. Please enter your name, email and a comment.