需要写个文本文件,要求对应固定的格式。但Print在写小于零的单精度数时,我的电脑上写出来为“0.001”,换一台电脑显示为“.001”,这样就会导致位置不正确了。
请教,如何让小于零的数在小数点前都写个0.
不胜感激~~~~

解决方案 »

  1.   

    [code=VB]Private Sub Command1_Click()
        Dim a As Single
        a = 0.123456
        Print Format(a, "0.#######")
    End Sub
    code]
      

  2.   

    Private Sub Command1_Click()
        Dim a As Single
        a = 0.123556
        Print Format(a, "0.###")
    End Sub
      

  3.   

    Format$(a, "0.000")'有四舍五入功能
      

  4.   

    vba.FormatNumber(0.001,3,vbTrue )
      

  5.   

    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"。
      

  6.   

    不用判断,直接用format函数格式化即可
      

  7.   

    FormatNumber(Expression[,NumDigitsAfterDecimal [,IncludeLeadingDigit [,UseParensForNegativeNumbers [,GroupDigits]]]])IncludeLeadingDigit 可选的。三态常数,表示小数点前是否显示零。关于其值,请参阅“设置值”部分。这个就是我想要的,呵呵
    谢谢各位~~~~