在此代码中:
FormatFloat('0.##########',XX.AsFloat)
如果数据库中的XX值为12.12345,它将返回什么值?
#的位数超过5位小数,是否会进行额外的舍入?
我找不到此
FormatFloat
的文档。我也想知道
.AsFloat
的作用。 最佳答案
当我运行它时,找到FormatFloat('0.###########',12.123456) = 12.123456
。因此,没有尾随空格,也没有多余的0。不过,您无法将这种情况推算为一般规则,因为存在很多无法完全用二进制表示的浮点值。因此,通常的答案是,您将获得一个数字,该数字至少要在小数点应到的位置的左边,并且您将得到一个小数位,在右边有一个可变的小数位数,或者没有小数的地方。
除了具有对IEEE浮点编码的深入了解以及二进制浮点数字存储的局限性之外,没有其他合理的方法来进行预测。例如,使用1.0尝试上述操作,您将得到'1'并且没有小数位。
AsFloat是对象的一种方法,如果您想知道它是如何实现的,并且由于您没有告诉我们XX类型是什么,我们也不能告诉您。但是您无需询问我们,只需按Ctrl +单击它即可。
改天,又转介到What Every Computer Scientist Should Know About Floating-Point Arithmetic