如何只打印有效数字?

How to print significant digits only?

我还没有找到答案...

假设我有以下有理数: 0.00000857 和 1.03.

使用 %f 舍入到 6 位数字,因此 0.00000857 变为 0.000009。 1.03 也将填充到 1.030000。设置 .8f 会将 0.00000857 打印为 0.00000857,但会填充 1.03。 %g returns 指数表示法,我不想要它。

如何按原样打印(字符串化)这两个数字,即 0.00000857 和 1.03?

您可以将浮点数四舍五入到所需的小数位(在您的情况下为 6),然后将其格式化为这样。

print('{:.6f}'.format(0.00000857))

删除不需要的尾随零:

print('{:.6f}'.format(1.03).rstrip('0').rstrip('.'))