所以这很好用:
>>> float(1.0e-1)
0.10000000000000001
Run Code Online (Sandbox Code Playgroud)
但是当处理更大的数字时,它将无法打印:
>>> float(1.0e-9)
1.0000000000000001e-09
Run Code Online (Sandbox Code Playgroud)
有没有办法强迫这个?也许使用numpy或其他东西.
如何获取不带指数符号的浮点数作为字符串,即以"e-10"或类似结尾的数字?我发现to_s返回带有指数符号的数字。
ms = 1457000.0000000002 % 1000 # => 2.3283064365386963e-10
ms.to_s # => "2.3283064365386963e-10"
Run Code Online (Sandbox Code Playgroud)
我想得到"0.0000000002",但我没有得到正确的。
如果我使用上面的示例并进行评估"%f" % ms,我会得到"0.000000",这与"0.0000000002".