¿Cómo especificar la cantidad de decimales de un double?

publicado por: Anonymous

Alguien me puede ayudar necesito que aparezcan 4 decimales
si tiene de tipo de dato double:

Console.WriteLine(num);

Por ejemplo se muestre 0.2544.

solución

Imagino que tu problema es que la opción Math.Round redondea los valores y no quieres eso, si es el caso puedes conseguir “truncar” los decimales de la siguiente manera:

double value = 0.2544737373;
double num = (Math.Truncate(value * 10000) / 10000);
Console.WriteLine(num);

Como notarás, la cantidad de ceros en el valor auxiliar ‘10000’ es la cantidad de decimales que quieres.

Puedes crear un extensionMethod para hacer esto más sencillo:

public static double Truncate(this double value, int decimales) 
{
      double aux_value = Math.Pow(10, decimales);
      return (Math.Truncate(value * aux_value ) / aux_value );
}

Y así llamar a Truncate directamente

double value = 0.2544737373;
double num = value.Truncate(4);
Console.WriteLine(num);
Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *