我有例如下面的代码:为什么使用real的计算给出了使用int的不同结果?
(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,结果不变。
负。对象之前已经讨论过千次。 –
@Downvoter,在这种情况下,您应该投票结束重复问题的链接。 – Johan
[为什么是RoundTo(87.285,-2)=> 87.28]的结果的重复(http://stackoverflow.com/questions/5191235/why-is-the-result-of-roundto87-285-2- 87-28) – Johan