【发布时间】:2011-01-19 04:23:33
【问题描述】:
在 c# double 类型中,我如何设置点后的位数,我只需要 4。 谢谢。
【问题讨论】:
-
inputValue = Math.Round(inputValue, 4);改编自stackoverflow.com/questions/2357855/…
在 c# double 类型中,我如何设置点后的位数,我只需要 4。 谢谢。
【问题讨论】:
你不能。 Binary floating point 不是这样工作的。您可以 format 以这种方式加倍(例如,使用 "f4" 作为格式字符串),但如果您正在处理具有自然数 decimal 位的值,那么您可能应该改用decimal。您能否向我们提供更多关于您的价值观所代表的信息?
【讨论】:
不能直接设置double上点后的位数。
您可以使用格式字符串更改双精度的字符串表示形式。
一个例子是:
string.Format("{0:0.####}", number);
或者正如 Jon Skeet 指出的那样:
number.ToString("f4")
【讨论】:
使用它来比较两个浮点数与分数中的 4 位数字:
if (Math.Abs(a - b) < 1E-4) {
// close enough
//...
}
【讨论】: