这个问题,是电脑地区环境设置中,数值前导0是否显示的设置决定的。
解决此问题,可以有2种方法。
1. 更改电脑设置:
With CreateObject("Wscript.Shell")
Call .RegWrite("HKEY_CURRENT_USER\Control Panel\International\iLZero", "1") '设置成小数点前显示0 [0.7]
' Call .RegWrite("HKEY_CURRENT_USER\Control Panel\International\iLZero", "0") '设置成小数点前不显示0 [.7]
End With
当然,也可以用爱疯的暴力方法,判断首字符为小数点时,强行加上0改为0.
2. 使用输出结果的数字格式函数:FormatNumber()
t = 7 / 10
MsgBox FormatNumber(t, 3, -1)
或 MsgBox FormatNumber(t, 3, vbTrue)
具体用法可去查帮助文件。
…………由于小数点位数可能不同,所以用第一种方法比较不容易错。