【发布时间】:2014-02-20 12:57:51
【问题描述】:
我是这个网站和 C# 的新手,
我有一个关于浮点数和逗号的问题。
dpi.Text = "1188";
winSens.Text = "1";
sens.Text = "1.25";
m_yaw.Text = "0.022";
double sensCM =(360 * 2.54) / ((Double.Parse(dpi.Text) * Double.Parse(winSens.Text) * Double.Parse(sens.Text) * Double.Parse(m_yaw.Text)));
sensCM360.Text = sensCM.ToString();
所以计算就像;
(360 * 2.54) / (1188 * 1 * 1.25 * 0.022)=
=914.4 / 32.67
=27.9889
但结果不是 27.9889,而是 0,000279889807162534。
如果我将“替换”一一添加到它们,它们就可以像Double.Parse(dpi.Text.Replace(".", ",")) 一样工作。
但我不明白的是为什么它与“,”一起工作,我记得,我们使用“。”在计算中,我在代码中输入了 2.54。那么有人能解释一下吗?
【问题讨论】:
-
你不应该替换它:考虑 1,000,000(100 万)变成 1.000.000
-
当我运行你的代码时,我得到了正确的答案。 ;S
-
@Brian 因为您的文化将
.作为小数分隔符