请教Print写小于零的数时,如何控制在小数点前加零,谢了!
需要写个文本文件,要求对应固定的格式。但Print在写小于零的单精度数时,我的电脑上写出来为“0.001”,换一台电脑显示为“.001”,这样就会导致位置不正确了。
请教,如何让小于零的数在小数点前都写个0.
不胜感激~~~~
[解决办法]
[code=VB]Private Sub Command1_Click()
Dim a As Single
a = 0.123456
Print Format(a, "0.#######")
End Sub
code]
[解决办法]
Format$(a, "0.000")'有四舍五入功能
[解决办法]
vba.FormatNumber(0.001,3,vbTrue )
[解决办法]
Format 函数示例
本示例显示用 Format 函数做格式化输出的不同用法。对于日期分隔号(/),时间分隔号(:),以及 AM/ PM 等文本而言,其真正的显示格式会因计算机上的国际标准不同而有所差异。在开发阶段,日期与时间是以短日期的格式,配合代码的国际标准来显示的。而在运行时,短日期则是根据系统的国际标准而定,而系统的国际标准和代码的国际标准可能并不相同。本示例中是假设国际标准为 English/United States。
MyTime 及 MyDate 在开发环境下,使用系统的短日期设置显示出来的。
Dim MyTime, MyDate, MyStr
MyTime = #17:04:23#
MyDate = #January 27, 1993#
' 以系统设置的长时间格式返回当前系统时间。
MyStr = Format(Time, "Long Time")
' 以系统设置的长日期格式返回当前系统日期。
MyStr = Format(Date, "Long Date")
MyStr = Format(MyTime, "h:m:s") ' 返回 "17:4:23"。
MyStr = Format(MyTime, "hh:mm:ss AMPM") ' 返回 "05:04:23 PM"。
MyStr = Format(MyDate, "dddd, mmm d yyyy") ' 返回 "Wednesday, Jan 27 1993"。
' 如果没有指定格式,则返回字符串。
MyStr = Format(23) ' 返回 "23"。
' 用户自定义的格式。
MyStr = Format(5459.4, "##,##0。00") ' 返回 "5,459.40"。
MyStr = Format(334。9, "###0。00") ' 返回 "334.90"。
MyStr = Format(5, "0。00%") ' 返回 "500.00%"。
MyStr = Format("HELLO", "<") ' 返回 "hello"。
MyStr = Format("This is it", ">") ' 返回 "THIS IS IT"。
[解决办法]
不用判断,直接用format函数格式化即可