Module Module1
Public Sub Main()
Dim values() As Double = {43.523, 12.65, 43.565}
For Each value As Double In values
Console.WriteLine("{0} --> {1}", value, Math.Round(value, 2))
Next
Console.ReadLine()
End Sub
End Module
上面的代码结果如下:
43.523 --> 43.52
12.65 --> 12.65
43.565 --> 43.56
Round(Double, Int32, MidpointRounding)
方法可能看起来不会按照模式参数指定的方式舍入中点值。”对于Round(43.565,2,mode)
,它确实如此,因为尽管最接近43.565的Double
比它小,但乘以100得到的结果恰好是4356.5,所以被舍入为整数的值就是一个中点。但是对于2.135,您得到了2.13,因为舍入后的值不是中点。 - Daniel Fischer