如何获得准确的舍入值结果

问题描述 投票:0回答:1

Round() 无法正常工作

Round(17.675,2) 得到 17.68

Round(6.675,2) 也得到 6.68

但是 Round(36.675,2) 变成了 36.67

与 Round(38.675,2) 相同,得到 38.67

但是当我 Round(28.675,2) 得到 28.68

我使用了所有可选参数,然后也得到了相同的结果

如何解决这个问题? 请帮助我

c# rounding math.round
1个回答
0
投票

您可以使用 Round(Double, Int32, MidpointRounding) 并指定

MidpointRounding
参数来获取所需的舍入类型。

MidpointRounding
是一个具有以下值的枚举:

远离零 1 四舍五入到最接近的数字的策略,当一个数字介于其他两个数字之间时,它会四舍五入到远离零的最接近的数字。
到偶 0 四舍五入到最接近的数字的策略,当一个数字介于其他两个数字之间时,它会四舍五入到最接近的偶数。
至负无穷 3 向下舍入的策略,结果最接近且不大于无限精确结果。
至正无穷 4 向上舍入的策略,结果最接近且不低于无限精确的结果。
归零 2 定向舍入到零的策略,结果最接近且不大于无限精确的结果。
© www.soinside.com 2019 - 2024. All rights reserved.