# 写个四舍五入的 Function 吧

Posted by SuBird on May 13, 1999 at 10:11:56:

In Reply to: Re: 照下去;看看前人的讨论后再问嘛!(顺便提醒纪兄一下) posted by 安宝 on May 11, 1999 at 13:34:45:

Re:

Public Function Round(num As Variant, n As Long) As String
Round = Format(num, IIf(n > 0, "0." & String(n, "0"), "0"))
End Function

Private Sub Command1_Click()
MsgBox Round(34.35629645, 4)
End Sub

传回34.3563

参数说明：
num：欲四舍五入的数值。因为欲四舍五入的数值可能是 Double 或 Single 或是其它资料型态，所以这里把 num 宣告成 Variant；如果把 num 宣告成Double，而欲四舍五入的数值是 Single 型态，就会出现资料型态不符合的错误；但是把 num 宣告成 Variant 则可避免这种错误，或是使用传值呼叫(ByVal) 也可避免这种错误。
n：取到小数点以下第 n 位。
Round 函数传回的是一个字串资料。

Follow Ups:

- 这个程式好像在哪见过ㄝ Tom 01:49:24 5/19/99 (1)
  - Sorry! SuBird 16:19:37 5/20/99 (0)