这是一个众所周知的问题,默认情况下,.NET使用Banker的舍入,X.5舍入到最接近的偶数.另一方面,Excel使用算术舍入,X.5总是四舍五入,就像我们大多数人在学校教过.
是否可以使用公式在Excel中执行银行家舍入?
使用此公式:
=IF(AND(ISEVEN(A1*10^0),MOD(A1*10^0,1)<=0.5),ROUNDDOWN(A1,0),ROUND(A1,0))
Run Code Online (Sandbox Code Playgroud)
替换所有0,其中有4个,具有所需舍入的意义.
或者您可以创建自己的UDF以使用VBA Round,这是Banker的舍入:
Function BankerRound(rng As Double, sig As Integer) As Double
BankerRound = Round(rng, sig)
End Function
Run Code Online (Sandbox Code Playgroud)
然后它只是:
=BankerRound(A1,0)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4483 次 |
| 最近记录: |