這裡有一種做法Private Sub Command1_Click() Dim i As Integer i = InStr(1, Text1.Text, ".", 1) If i <> 0 Then MsgBox Left(Text1.Text, i) & Mid(Text1.Text, i + 1, 2) End Sub 我這裡是取的小數點位後兩位
不要四舍五入?那干脆当成字符串来处理吧,用mid配合instrFunction output(小数 As Double, 几位 As Long) As String output = Mid(CStr(小数), InStr(CStr(小数), ".") + 1, 几位) End FunctionPrivate Sub Form_Load() MsgBox output(1.23456, 3) '取小数点后三位 End Sub
Function IntMonth(byval Mdata As Double) As single IntMonth=format(Mdata,"#.0") '要保存几位就写几个0 End FunctionPrivate Sub Form_Load() MsgBox output(1.23456, 3) '取小数点后三位 End Sub
ZWB_ZYN(文&亚楠) 的是最好的, 完整函数是:Public Function GetVal(X as Single,n as integer) as single GetVal=int(X*(10^n))/(10^n) end function其中n是你要取的小数位数, X是你要取的值不同意 W26547890(征服) 的, 用Format会四舍五入
Dim i As Integer
i = InStr(1, Text1.Text, ".", 1)
If i <> 0 Then MsgBox Left(Text1.Text, i) & Mid(Text1.Text, i + 1, 2)
End Sub
我這裡是取的小數點位後兩位
output = Mid(CStr(小数), InStr(CStr(小数), ".") + 1, 几位)
End FunctionPrivate Sub Form_Load()
MsgBox output(1.23456, 3) '取小数点后三位
End Sub
IntMonth=format(Mdata,"#.0") '要保存几位就写几个0
End FunctionPrivate Sub Form_Load()
MsgBox output(1.23456, 3) '取小数点后三位
End Sub
GetVal=int(X*(10^n))/(10^n)
end function其中n是你要取的小数位数, X是你要取的值不同意 W26547890(征服) 的, 用Format会四舍五入