例如。
Math.Round(2.314, 2) //2.31
Math.Round(2.301, 2) //2.3 , but I want this as 2.30
答案 0 :(得分:9)
数字在小数点后没有任何零概念。
您实际上是在询问如何将数字转换为带有额外零的字符串:
(2.301).ToString("0.00") // "2.30"
有关详细信息,请参阅numeric format strings
特别是,0
说明符将从零开始。
答案 1 :(得分:4)
您需要数字的字符串格式:
string val = Math.Round(2.301, 2).ToString("F2");
答案 2 :(得分:1)
2.3和2.30是一回事。如果你想要字符串 2.30,那么在Math.Round函数上使用.ToString(“F2”)。
答案 3 :(得分:1)
string yourString = Math.Round(2.301, 3).ToString("0.00");
答案 4 :(得分:1)
小数仍然存在,您可能只是没有看到,因为当您查看字符串表示时,默认情况下它会省略尾随零。您可以通过将格式字符串传递给ToString()
来覆盖此行为:
Console.WriteLine(Math.Round(2.301, 2).ToString("N2")) // 2.30
但是,当然,如果这仅用于显示目的,您实际上不需要致电Math.Round
:
Console.WriteLine(2.301.ToString("N2")) // 2.30
进一步阅读
答案 5 :(得分:0)
如果您使用decimal
个数字(他们的文字以m
结尾,那么" money"),您将获得您之后的行为。 double
数字不像decimal
那样具有重要零的概念。
Math.Round(2.314m, 2);
Math.Round(2.301m, 2);
或者,如果您想更改数字的显示方式,可以使用string format:
Math.Round(2.314, 2).ToString("N2");
Math.Round(2.301, 2).ToString("N2");