在vb中使用取余函数mod,如下:
'001133330503120100504160020001
a = 1.1333305031201E+27
Text1.Text = a Mod 24运行提示溢出,请问要怎么才能求出它的余数啊,谢谢!

解决方案 »

  1.   

    Mod 两边的操作数会先转化为 Long 型再进行运算,你给的值对 Long 型已经溢出。
      

  2.   

    function BigMod(byval n1 as variant,byval n2 as variant) as variant
        dim v as variant
        n1 = cdec(n1)
        n2 = cdec(n2)
        v = int(n1/n2)
        BigMod = n1 - v*n2
    end functiondebug.print BigMod(1.1333305031201E+27,24)
      

  3.   

    求余运算:a Mod 24 在VB里仅限于a是整型或长整型数。甚至在C语言里也是这样。不能用于浮点数。