转换非常小的数字

Converting very small numbers

如何转换 lua 中非常小的数字? 例如 1.75245E-09 或 7.73411E-08 它适用于 e-04

from lua interpreter:
1> 1.75245E-05
1.75245e-05
1> 1.75245E-04
0.000175245

您想要的是 string.format,它的工作方式几乎与 C print-into-string 函数 sprintf.

完全相同

因此

string.format("%f",7.73411E-08)

应该会产生所需的输出。拥有那么多前导零是否有用是另一个问题。我没有测试这个,默认长度可能是有限的。如果是这样使用

string.format("%20f",7.73411E-08)

提供足够的space。