我有一些代码使用普通数学而不是字符串数学来获取 Double 的前导值(非零)......
例如:
0.020 将返回 2
3.12 将返回 3
1000应返回 1
我现在的代码是:
LeadingValue := Trunc(ResultValue * Power(10, -(Floor(Log10(ResultValue)))))
但是,当 ResultValue 为 1000 时,LeadingValue 最终为 0。
我可以做些什么来解决我假设是由浮点错误引起的这个问题?
谢谢。