对x进行四舍六入五成双到小数点n位:
Function Roundx(x, n)
y = x * 10 ^ n - Int(x * 10 ^ n)
z = Int(x * 10 ^ n)
If y >= 0.6 Then
p = (Int(x * 10 ^ n) + 1) / 10 ^ n
ElseIf y < 0.5 Then
p = Int(x * 10 ^ n) / 10 ^ n
ElseIf z / 2 = z \ 2 Then
p = Int(x * 10 ^ n) / 10 ^ n
ElseIf z / 2 <> z \ 2 Then
p = (Int(x * 10 ^ n) + 1) / 10 ^ n
End If
Roundx = p
End Function
当n为正,则为小数点之后,n为负,则小数点之前。
=IF(MOD(INT(F2+10*LOG10((C2+C3)/8)*10^3),10)=5,EVEN(F2+10*LOG10((C2+C3)/8)*100-0.5)/10^2,INT(F2+10*LOG10((C2+C3)/8)*10^2+0.5)/10^2)
根据你要保留的小数修改
^2 保留两位
^3 保留三位
... ...
注意:里面有个10^3要增加1
到底保留到几位,最多保留到几位?
你要保留几位有效数?
在单元格格式里直接设置不好么,这个不必要非用公式吧