我正在使用Delphi 7,其中有变量v:double,其值设置为5,5889002873e + 22。
CurrencyDecimals为2
当我使用round(v)时,出现此错误:
无效的浮点运算
我不清楚为什么会发生,因为double的范围是-308到+308。如何正确执行四舍五入?
答案 0 :(得分:4)
Round
的结果是整数变量(help)
function Round(X: Real): Int64;
但是Int64
类型的值不能超过2^63 - 1
(约9*10^18
),因此
如果X的舍入值不在Int64范围内,则会生成运行时错误
此舍入的目的是什么?