gpt4 book ai didi

c# - Wind Chill C# 最终编号需要更多位数

转载 作者:太空狗 更新时间:2023-10-30 00:49:54 25 4
gpt4 key购买 nike

我一直在尝试解决这个关于风寒的公式,我得到了结果,但我需要小数点后的更多数字。无论我尝试什么都没有用。请帮忙!

static void Main()
{
double temp = 20;
double wind = 7;

double windChill = 35.74 + 0.6215 * temp + (0.4275 * temp - 35.75) * Math.Pow(wind, 0.16);

Console.WriteLine("so wind_chill = {0}", Math.Round(windChill, 15));
}

在此我得到最终数字 11.03490062551,但我想要 11.034900625509998。我做错了什么?

最佳答案

问题不在于 Math.RoundMath.Round 实际上会给你 11.034900625509991 我想这就是你想要的。

问题出在 Console.WriteLine 上,它是导致精度损失的方法(因为在内部,它调用 string.Format 这实际上导致了精度损失损失)。

要修复它,请使用 round-trip format specifier像这样:

Console.WriteLine("so wind_chill = {0:R}", Math.Round(windChill, 15));

另请注意,windChill 的值应该对您来说足够好。无需调用 Math.Round

关于c# - Wind Chill C# 最终编号需要更多位数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35120439/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com