vb.net Round(Double, Int32, MidpointRounding)使用指定的舍入约定将双精度浮点值舍入到指定数量的小数位数实例代码
时间: 2024-02-15 16:02:22 浏览: 161
ROUND2:四舍五入到指定的小数位数。-matlab开发
5星 · 资源好评率100%
好的,以下是vb.net使用指定的舍入约定将双精度浮点值舍入到指定数量的小数位数的实例代码:
```vb.net
Module Module1
Sub Main()
Dim d As Double = 123.456789
Console.WriteLine("原始值:" & d) ' 输出:原始值:123.456789
Console.WriteLine("保留 2 位小数,并使用 MidpointRounding.ToEven 舍入约定:" & Math.Round(d, 2, MidpointRounding.ToEven)) ' 输出:保留 2 位小数,并使用 MidpointRounding.ToEven 舍入约定:123.46
Console.WriteLine("保留 2 位小数,并使用 MidpointRounding.AwayFromZero 舍入约定:" & Math.Round(d, 2, MidpointRounding.AwayFromZero)) ' 输出:保留 2 位小数,并使用 MidpointRounding.AwayFromZero 舍入约定:123.46
Console.ReadKey()
End Sub
End Module
```
在这个例子中,我们使用了 `Math.Round` 的重载方法,第一个参数是需要舍入的双精度浮点数,第二个参数是需要保留的小数位数,第三个参数是舍入约定。
在第一次调用 `Math.Round` 方法时,我们使用了 `MidpointRounding.ToEven` 舍入约定,它是默认值。这个舍入约定会将舍入位置的数值舍入到最接近的偶数。因此,当我们保留 2 位小数时,舍入位置的数值是 0.005,它会被舍入到 0,而不是 1。
在第二次调用 `Math.Round` 方法时,我们使用了 `MidpointRounding.AwayFromZero` 舍入约定。这个舍入约定会将舍入位置的数值舍入到离它最近的整数,如果舍入位置的数值恰好在两个整数的中间,则会向离它最远的整数舍入。因此,当我们保留 2 位小数时,舍入位置的数值是 0.005,它会被舍入到 1,而不是 0。
希望这个例子能帮到你!
阅读全文