例如。
Math.Round(2.314, 2) //2.31
Math.Round(2.301, 2) //2.3 , but I want this as 2.30
数字在小数点后没有任何零的概念。
您实际上是在询问如何将数字转换为带有额外零的字符串:
(2.301).ToString("0.00") // "2.30"
有关详细信息,请参阅数字格式字符串。
特别是,说明0
符将从零舍入。
2.3 和 2.30 是一回事。如果您想要字符串2.30,请在 Math.Round 函数上使用 .ToString("F2") 。
从代码的角度来看,2.3 和 2.30 是一回事。您可以通过格式化字符串来显示尾随零:
string yourString = Math.Round(2.301, 3).ToString("0.00");
小数点仍然存在,您可能只是没有看到,因为当您查看字符串表示时,默认情况下它将省略尾随零。您可以通过将格式字符串传递给以下内容来覆盖此行为ToString()
:
Console.WriteLine(Math.Round(2.301, 2).ToString("N2")) // 2.30
但是当然,如果这只是为了显示目的,你真的不需要调用Math.Round
:
Console.WriteLine(2.301.ToString("N2")) // 2.30
延伸阅读