use*_*937 6 python floating-point exponent number-formatting
我觉得有点愚蠢地问我确定是一个相当基本的问题,但我一直在学习Python,而我很难理解"g"和"G"字符串格式到底是做什么的.
文档有这样的说法:
浮点格式.如果指数小于-4或不小于精度,则使用小写指数格式,否则使用小数格式.
我确信这应该是有意义的,但我只是没有得到它.有人可以为这种格式提供更清晰的解释,并且可能提供一些关于何时以及如何使用它的示例,而不仅仅是使用"e"或"f".
谢谢
Mic*_*man 11
这些例子可能是说明性的:
>>> numbers = [100, 10, 1, 0.1, 0.01, 0.001, 0.0001, 0.00001]
>>> for number in numbers:
... print "%%e=%e, %%f=%f, %%g=%g" % (number, number, number)
...
%e=1.000000e+02, %f=100.000000, %g=100
%e=1.000000e+01, %f=10.000000, %g=10
%e=1.000000e+00, %f=1.000000, %g=1
%e=1.000000e-01, %f=0.100000, %g=0.1
%e=1.000000e-02, %f=0.010000, %g=0.01
%e=1.000000e-03, %f=0.001000, %g=0.001
%e=1.000000e-04, %f=0.000100, %g=0.0001
%e=1.000000e-05, %f=0.000010, %g=1e-05
>>> for number in numbers:
... print "%%0.2e=%0.2e, %%0.2f=%0.2f, %%0.2g=%0.2g" % (number, number, number)
...
%0.2e=1.00e+02, %0.2f=100.00, %0.2g=1e+02
%0.2e=1.00e+01, %0.2f=10.00, %0.2g=10
%0.2e=1.00e+00, %0.2f=1.00, %0.2g=1
%0.2e=1.00e-01, %0.2f=0.10, %0.2g=0.1
%0.2e=1.00e-02, %0.2f=0.01, %0.2g=0.01
%0.2e=1.00e-03, %0.2f=0.00, %0.2g=0.001
%0.2e=1.00e-04, %0.2f=0.00, %0.2g=0.0001
%0.2e=1.00e-05, %0.2f=0.00, %0.2g=1e-05
Run Code Online (Sandbox Code Playgroud)
关于Python的一个好处是,当你不完全理解它的含义时,很容易在解释器中测试一些东西.
小智 5
g 和 G 类似于计算器显示屏上的输出,如果输出非常大或非常小,您将得到科学记数法的响应。例如,0.000001 给出带有 g 的“1e-06”和带有 G 的“1E-06”。但是,不太小或太大的数字会简单地显示为小数 1000 给出“1000”
e 始终以指数格式给出结果 1000 给出 1.000000e+03
f 始终以十进制格式给出结果,但是它不会进行舍入,而 g 和 G 则 1000 给出“1000.000000”
| 归档时间: |
|
| 查看次数: |
5563 次 |
| 最近记录: |