我用vb 与.net 都发现这个问题 4.1-4不等于0.1  5.1-5 不等于0.1,一般只要是后面的数与前面的第一个数字一样,且有小数,就会出现多位小数的结果,这是怎么回事啊,以后怎么计算精确啊

解决方案 »

  1.   

    参看
    http://community.csdn.net/Expert/topic/4346/4346232.xml?temp=3.701419E-02
      

  2.   

    将数据类型定义成 Currency 型Dim a As Currency
    Dim b As Currency
    Dim c As Currency
    a = 4.1
    b = 4
    c = a - b
    MsgBox c
      

  3.   

    Private Sub Command1_Click()
      Dim i As Single
       i = 5.1 - 5
       MsgBox Format(i, "#0.0")
    end sub
      

  4.   

    Dim s As Single       '估计是因你的数据类型没定义,才出错的
        s = 5.1 - 5
        MsgBox s
      

  5.   

    Dim i As Single
       i = 5.1 - 5
       MsgBox Format(i,"0.#")