c#中的数学四舍五入 - 整数问题

时间:2011-04-04 18:59:41

标签: c# rounding

<%= Math.Round(keyRate, 5) %>

因此,在我们看来,我们使用它来显示一堆数字。看来,当我们有一个整数时,它会舍入到2位小数而不是5位。这是预期的行为吗?如果是这样,我将如何改变它。

谢谢!

3 个答案:

答案 0 :(得分:1)

写出时 的数字与的显示方式之间存在差异。您可能需要使用ToString()

覆盖ToString(string)

根据Custom Numeric Formats,如果你希望它是5个地方,你可以使用

Math.Round(keyRate, 5).ToString(00.00000)

More information on the "0" custom specifier

答案 1 :(得分:1)

Math.Round(d, decimals)的第二个参数是最多将返回的小数位数。来自MSDN

  

如果d的精度小于   小数,d返回不变

在你的情况下,你传递的是一个数字较小的数字,所以它保持不变。

答案 2 :(得分:0)

当你传递一个整数时,你怎么知道它是四舍五入到小数?我的猜测是你只输出2位小数。