我有一些代码使用正常数学而不是字符串数学来获取Double的前导值(非零)...
例如:
0.020将返回2
3.12将返回3
1000应该返回1
我目前的代码是:
LeadingValue := Trunc(ResultValue * Power(10, -(Floor(Log10(ResultValue)))))
但是,当ResultValue为1000时,LeadingValue最终为0。
我该怎么办才能解决这个假定是由浮点错误引起的问题?
谢谢。
最佳答案
我很好奇为什么不能/不使用String操作。您能进一步解释吗?
解决该问题最明显的方法是将数字转换为字符串并找到第一个非零数字。
关于delphi - 修正浮点错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2940704/