|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
刚刚开始学习,代码可能很臃肿,不要见笑
简单说明:RTOL函数中参数 i 代表 要修约的数,j 代表 修约到的位数(10的n次方,n=非零的正、负整数),k 代表 修约间隔(1,2,5)- Function RTOL(i As Single, j As Single, k As Integer)
- If k = 2 Then
- i = i * 0.5
- RTOL = xROUND(i, j) / 0.5
- ElseIf k = 5 Then
- i = i * 0.2
- RTOL = xROUND(i, j) / 0.2
- Else
- RTOL = xROUND(i, j)
- End If
- End Function
- Function xROUND(i As Single, j As Single)
- Dim k As Integer
- Dim l As Integer
- Dim x As Integer
- j = Log(j) / Log(10)
- i = i / 10 ^ j
- k = Int(i) - Int(i / 10) * 10
- l = Int(i * 10) - Int(i) * 10
- x = Int(i * 100) - Int(i * 10) * 10
- If l > 5 Then
- xROUND = Int(i) + 1
- ElseIf l < 5 Then
- xROUND = Int(i)
- ElseIf l = 5 And x > 0 Then
- xROUND = Int(i) + 1
- Else
- If l = 5 And x = 0 And k Mod 2 = 0 Then
- xROUND = Int(i)
- Else
- xROUND = Int(i) + 1
- End If
- End If
- xROUND = xROUND * 10 ^ j
- End Function
复制代码 |
|