Roo*_*ian 3 .net c# math rounding
可能重复:
.Net Round Bug
在C#中:Math.Round(2.5)结果是2(而不是3)!你在跟我开玩笑吗?
码:
var d1 = Math.Round(187.5); // 188
var d2 = Math.Round(62.5); // 62
Run Code Online (Sandbox Code Playgroud)
为什么会这样?
Ani*_*Ani 17
默认情况下,Math.Round使用称为Banker's Rounding的舍入形式,当输入位于两个整数之间时,舍入为最接近的偶数.
请参阅为什么.NET使用银行家的舍入作为默认值?了解这个设计决定.
如果你不喜欢这种行为,你可以随时使用这个超负荷的Math.Round,它可以让你指定MidPointRoundingMode(ToEven,AwayFromZero).
| 归档时间: |
|
| 查看次数: |
526 次 |
| 最近记录: |