计算20000 * 7.55 * 1.01012得出的结果为152528.125166893 ,而其实正确的应该是152528.12,为什么?

解决方案 »

  1.   

    Private Sub Command1_Click()
    Dim a As Double
    a = 20000 * 7.55 * 1.01012
    MsgBox a
    End Sub
      

  2.   

    Private Sub Command1_Click()
    Dim a As Variant
    a = 20000 * 7.55 * 1.01012
    MsgBox a
    End Sub
      

  3.   

    MsgBox 20000# * 7.55 * 1.01012
      

  4.   

    直接在代码里写MsgBox 20000 * 7.55 * 1.01012是正确的结果.是你的变量类型给的不合适的缘故.
    1、Byte 字节型 占1字节 0-255 可表示无符号整数 
    2、Interger 整型 占2字节 -32768—32767 
    3、Long 长整型 占4字节 -2147483648-2147483647
    4、Single 单精度浮点数 占4字节 
    5、Double 双精度浮点数 占8字节 
    6、Currency 货币型 点8字节 
    7、String 字符串型 变长 231个,定长 65526