Math.Floor delphi 溢出 5
Math.Floor overflow in delphi 5
我正在开发一个旧学校 Delphi 5 应用程序,我注意到 Math.Floor
函数的一些内容。
我有一个表达式,我想计算
的 Floor
但是当我计算楼层时
我最终得到一个显然不正确的值,可能是由于整数溢出。
我想按照建议使用 modulo 运算符 here,但看起来 mod 不适用于这些操作数。
一定有办法...
感谢 David A 的建议:
function CardinalFloor(X: Extended): Cardinal;
begin
Assert(X>=0);
Result := Cardinal(Trunc(X));
end;
是一种可能的解决方法
我正在开发一个旧学校 Delphi 5 应用程序,我注意到 Math.Floor
函数的一些内容。
我有一个表达式,我想计算
的 Floor但是当我计算楼层时
我最终得到一个显然不正确的值,可能是由于整数溢出。
我想按照建议使用 modulo 运算符 here,但看起来 mod 不适用于这些操作数。
一定有办法...
感谢 David A 的建议:
function CardinalFloor(X: Extended): Cardinal;
begin
Assert(X>=0);
Result := Cardinal(Trunc(X));
end;
是一种可能的解决方法