Delphi中的Trunc方法

Sam*_*Sam 4 c# delphi

我正在将一些代码移植到.Net,我意识到Trunc方法在Delphi中没有正常工作.它不会考虑您是否截断负值或正值.它将论证视为绝对的.

德尔福

Trunc(-163.78999) returns -163
Run Code Online (Sandbox Code Playgroud)

.Net实施

System.Math.Floor(-163.88888888888889) returns -164.
Run Code Online (Sandbox Code Playgroud)

我可以模仿实现,但我想知道是否有人以前见过这个.

谢谢,

Dav*_*nan 10

Delphi的Trunc功能按设计执行.文件说(强调我的):

将实数截断为整数.

在Delphi代码中,Trunc函数将实型值截断为整数类型值.X是一个实型表达式.Trunc返回一个Int64值,该值是X向零舍入的值.

相当于德尔福.NET TruncMath.Truncate.

相当于.net的Delphi System.Math.FloorFloor.