【发布时间】:2025-12-22 16:50:07
【问题描述】:
底部的两个函数都返回错误的值。
示例:对于142.22 的员工部分,答案应该是165.64,而不是VBA 函数返回的165.39?
同样,对于第二个函数,对于5048.94 - EmployerMPPportion,答案应该是50999.41,而答案是返回51000。
我知道我使用了四舍五入函数,但它只能四舍五入到小数点后 2 位?
我刚刚在论坛中看到 “BCD 的空间效率不是很高,但在这种情况下,你必须为准确性做出权衡”,如果这是真的,那为什么Excel 的内置函数总是返回正确的值?它们不是用 VBA 设计的吗?
Function MPPemployer (EmployeeMPPportion As Long)
Dim c As Double
c = Round((EmployeeMPPportion / (8.5 / 100) * (9.9 / 100)), 2)
MPPemployer = c
End Function
Function Grossmppsalary (EmployerMPPportion As Long)
Dim g As Double
g = Round((EmployerMPPportion / (9.9 / 100)), 2)
Grossmppsalary = g
End Function
【问题讨论】: