我想知道如何从整数转换为浮点值,而不分配给中间变量。有问题的代码如下所示:
Format('Theoretical peak scaling %6.2f', [ThreadCount])
这显然在运行时失败,因为 ThreadCount
是一个整数。
我尝试了显而易见的
Format('Theoretical peak scaling %6.2f', [Double(ThreadCount)])
编译器会拒绝它
E2089 Invalid typecast
我知道我可以写
Format('Theoretical peak scaling %6.2f', [ThreadCount*1.0])
但这读起来很差,只会诱使 future 的维护者删除错误的乘法。
有谁知道有没有一种干净的方法可以在没有中间变量的情况下做到这一点,并且可以让 future 的读者清楚地了解代码的意图?
最佳答案
这可能感觉很愚蠢......但如果它是一个整数,为什么不只是:
Format('Theoretical peak scaling %3d.00', [ThreadCount]);
小数点后除了零之外什么都不会,对吗?
关于delphi - 如何最好地将整数转换为浮点值而不分配给变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16068553/