关于Mod函数的计算问题
2022-04-11 13:27

    OnInit()
    {

        Numeric numN = 5634.26;
        Numeric numD = 0.2;
        Numeric remainder1;
        Numeric remainder2;
        // 使用mod计算结果
        remainder1 = Mod(numN, numD);
        // 使用TB官方mod的计算公式:Mod (n, d) = n - d*IntPart(n/d)。
        remainder2 = numN - numD * intpart(numN/numD);
        Print("remainder1:" + Text(remainder1));
        Print("remainder2:" + Text(remainder2));
    }

// 请测试上述代码,运行结果remainder1返回9233720.... 后者返回 0.06
// 按道理这两个返回结果应该是一致的,但使用mod函数就直接出错,这个情况只出现在除数为小数的情况

  

评论区
timinginfo

其他函数在使用过程中,如果参数数据类型不一致都会报错提示,这个没有提示。

是不是浮点numeric默认可以转成integer而不会报错?

要是被除数或除数是小数,看来只能先乘100,变成整数,算完再除以100了。或者直接用mod公式算一遍。

2022-04-12 17:05
顶部