请问大家,VB中要限定小数点的位数该如何实现。我用format语句只能实现小数点后取3位。
x=format(x,"##.000")
现在我想实现的是无论x是整数,还是小数后面有1位,2位……n位。取值的结果都是小数点后必须有3位数。不够的用0代替。
即当x=1.365984时取1.365;当x=1.2时,取1.000;当x=1时,取1.000
这个该如何实现,恳请大家帮帮忙,谢谢!

解决方案 »

  1.   

    dim x as double
    x=1.2
    x=Format(cint(x),"##.000")
      

  2.   

    dim x as double
    x=1
    msgbox format(x,"0.000")潜水给分
      

  3.   

    即当x=1.365984时取1.365;当x=1.2时,取1.000这是你的原命题要不就是你说错了。也许这个才是你想要的:dim x as double 
    x=1.2 
    x=Format(x,"##.000")
      

  4.   

    楼主自己的方法基本正确
    Private Sub Command1_Click()
        Dim x As Double
        Dim s As String
        x = 1.23456
        s = Format(x, "##.000")
        Print s
    End Sub首先要转换成字符串才谈得上后面固定有几位小数显示
    否则就算你这么写:
    x=1.000
    print x
    照样显示1
      

  5.   

    我说的是显示的时候再用format转换成字符串
      

  6.   

    楼上的朋友,显示的时候用format转换为字符串该怎么转?
      

  7.   

    我只用这个函数
    format(x,"0.000")
      

  8.   

    x 是 double 类型,数值不存在小数点后3位数的概念。
    format() 返回的是 String 类型,数值的字符串表示法才有小数点后3位数的概念。
    两者不能混淆。
      

  9.   

    dim x as single,y as string
    x=1.2
    y=format(x,"#.000")
    这样出来的结果就是y=1.200