例如,我有以下代码:
(a) writeln ('real => ', exp(3*Ln(3)):0:0); // return 27
(b) writeln ('int => ', int(exp(3*Ln(3))):0:0); // return 26
是错误吗?函数 calc 3^3(指数使用 ln 和 exp 函数),但从 real 到 int 的转换失败;情况(a)返回 27,情况(b)返回(26),什么时候都应该是 27。我能解决吗?非常感谢您的帮助。
Ps:将结果分配给整数变量,使用 trunc,结果不会改变。