[ Foro de C# ]
Tengo una pregunta: como mostrar numeros decimales sin redondear. Tengo este codigo:
using System;
class MainClass {
public static void Main (string[] args) {
double temp = 20,wind_speed = 7;
double wind_chill= 0;
wind_chill = 35.74 + 0.6215*temp + (0.4275*temp - 35.75) * Math.Pow(wind_speed,0.16);
Console.WriteLine(wind_chill);
}
}
La salida deberia ser: 11.034900625509998, pero yo obtengo esto 11.03490062551.
Como le hago para que lo imprima como en el ejemplo.
Salu2.
Cada dato tiene una cierta cantidad de cifras de precisión máxima. Por lo general, podrás reducir la precisión (mostrar menos decimales), pero no ampliarla, a no ser que cambies a otro tipo de datos que permita una mayor cantidad de cifras (si el lenguaje lo permite).
En C#, en tipo "double" garantiza unas 15 cifras de precisión, así que lo que obtienes es lo esperable.
Se puede usar el tipo de dato decimal? si es asi, como seria la formula si Math.Pow() es tipo double.
Efectivamente, el tipo "decimal" te permite el doble de cifras (aunque con un rango mucho menor), pero Math.Pow devuelve un double y limitará tu precisión final.
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)