怎么判断两个数是否10的倍数?
疑问:vb中,CDbl("101.5") - CDbl("91.5") / 10 结果怎么为9.999999999999999
哪位有经验的DXJM给个好方法? online

解决方案 »

  1.   

    Private Sub Form_Load()
    MsgBox CDbl("101.5") - CDbl("91.5") / 10
    End Sub
    92.35
      

  2.   


    Private Sub Form_Load() 
      MsgBox (CDbl("101.5") - CDbl("91.5")) / 10 
    End Sub 看看这个结果
      

  3.   

    楼上的意思是你给的示例结果不是9.99999999是92.35这个是数据类型的精度问题,你尝试转换为currency,改cdbl为 ccur
      

  4.   

    Private Sub Form_Load()
    MsgBox (CDbl("1001.5") - CDbl("91.5")) / 10
    End Sub输入结果是91
      

  5.   


    Private Sub Form_Load()
        MsgBox (CDbl("101.5") - CDbl("91.5")) Mod 10
    End Sub用Mod取余,如果结果等于0就是10的倍数。
      

  6.   

    Private Sub Form_Load()
    MsgBox (CDbl("191.5") - CDbl("91.5")) / 10
    End Sub结果是10
      

  7.   


    不对吧
    Private Sub Form_Load()
    'MsgBox (CDbl("191.5") - CDbl("91.5")) / 10
    MsgBox 100.1 Mod 10
    End Sub你看一下输出多少?
      

  8.   


    Private Sub Form_Load()
        If Int(100.1 / 10) = 100.1 / 10 Then
            MsgBox "倍数"
        Else
            MsgBox "不是倍数"
        End If
    End Sub这样呢?
      

  9.   

    那就看看6楼的方法,转换成Currency格式的,不知道行不行?
      

  10.   

    这是浮点小数表示精度的问题。2 进制小数(计算机的方式)来表示 10 进制小数常常是无穷循环的。如果你的小数位数不超过 4 位,可以选择 Currency 数据类型,因为它在机内实际上是用整数表示的。(ccur("101.5") - ccur("91.5")) mod 10,等于 0 就是 10 的整数倍。
      

  11.   

    CDB1是什么呀,是个函数不是啊,要是你就写下吧!