|
|
1
27
你实际上并不在中点。
如果要将数字四舍五入到99.96,请执行以下操作:
嘿,这里有一个方便的小函数,可以在一般情况下执行上述操作:
|
|
|
2
10
仅当您位于中点时,它才舍入到99.96,即99.965: C:\temp>ipy IronPython 2.6 Beta 2 (2.6.0.20) on .NET 2.0.50727.4927 Type "help", "copyright", "credits" or "license" for more information. >>> import clr >>> from System import Math, MidpointRounding >>> Math.Round(99.9651, 2, MidpointRounding.ToEven) 99.97 >>> Math.Round(99.965, 2, MidpointRounding.ToEven) 99.96 >>> Math.Round(99.9649, 2, MidpointRounding.ToEven) 99.96 >>> Math.Round(99.975, 2, MidpointRounding.ToEven) 99.98 >>> |
|
|
4
4
以下是一些对该主题有帮助的结果:
中点正好是5。。。不是535789,不是499999。 |
|
|
5
0
仅当值介于两个案例之间时,才会查看中点舍入。 在你的例子中,它不是“5”,它是“535…”,所以它大于中点,并且大于0.96。要获得预期的行为,您需要trunctate到第三个小数点,然后使用middpointrounding.ToEven进行四舍五入。 |
|
6
0
Math.Round“将十进制值四舍五入到指定数量的小数位数。”将99.96500000四舍五入时,将2舍五入到99.96,将99.96500001四舍五入到99.67。它对整个值进行四舍五入。 |
|
|
7
0
如果是我,我不会使用
附笔。
|
|
|
8
0
感谢Dan Tao分享您的解决方案,但它总是给出错误的结果,例如4.485,因此我分享了我创建的一个方法,以克服这个问题,如果它可以帮助您:)
|