解决access中round函数不能正确四舍五入的问题 (备忘)

Function round(x As Double, Y As Integer) As Double
'四舍五入函数
'将数字转化为字符串,判断是否大于4,截掉多余部分
Dim douShuZhi As Double

Dim strShuZhi As String
Dim b As String
Dim tt As Integer
Dim strZiFu As String
Dim longshuzhi As Long

'当数据以科学计数法表示时,换成以下格式
x = Format(x, "0.00000000")
strShuZhi = str(x)
b = strShuZhi

tt = 1

'判断小数点在字符串中的位置
Do While Not Left(b, 1) = "." And Len(b) <> 0
    b = Right(b, Len(b) - 1)
    tt = tt + 1
 Loop
 
'取出需要判断数字
If Len(strShuZhi) <> 0 Then
strZiFu = Mid(strShuZhi, Y + tt + 1, 1)
Else
    round = x
    Exit Function
    
End If

'判断是否大于4
'区分是否正负数————Sgn(X)
If Val(strZiFu) > 4 Then
    round = Val(Left(strShuZhi, tt + Y)) + Sgn(x) * (1 / (10 ^ Y))
Else
    round = Val(Left(strShuZhi, tt + Y))
End If

End Function

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值