我正在将一些代码移植到.Net,我意识到Trunc方法在Delphi中没有正常工作。它不会考虑您是否截断负值或正值。它将论证视为绝对的。
德尔福
Trunc(-163.78999) returns -163
.Net实施
System.Math.Floor(-163.88888888888889) returns -164.
我可以模仿实现,但我想知道是否有人以前见过这个。
谢谢,
答案 0 :(得分:10)
Delphi的Trunc
功能按设计执行。文件说(强调我的):
将实数截断为整数。
在Delphi代码中,Trunc函数将实型值截断为 整数类型的值。 X是一个实型表达式。 Trunc返回一个 Int64值 X的值向零舍入。
与Delphi Trunc
等效的.net是Math.Truncate
。
相当于.net System.Math.Floor
的Delphi是Floor
。