VB的round函数并不准确,你需要修改一下。 下面是我的改进后的代码: Public Function myRound(nNumber, Optional nDec As Long = 0) myRound = Round(nNumber + 0.1 ^ (nDec + 1), nDec) End Function
Function MyFormat(ByVal n#, ByVal m&) As String
If (m > 0) Then MyFormat = Format$(n, "0." & String(m, "0")) Else MyFormat = Format$(n, "0") End IfEnd Function............
用format
Format$(15.1255,"0.000") = 15.126
下面是我的改进后的代码:
Public Function myRound(nNumber, Optional nDec As Long = 0)
myRound = Round(nNumber + 0.1 ^ (nDec + 1), nDec)
End Function
If (m > 0) Then
MyFormat = Format$(n, "0." & String(m, "0"))
Else
MyFormat = Format$(n, "0")
End IfEnd Function............