了解浮动格式

Understanding float formatting

我写了下面的代码:

x = 0.01
print(format(x, '0.27f'))
print(format(x, '1.27f'))
print(format(x, '2.27f'))

以上所有打印语句,输出如下:

0.010000000000000000208166817

请帮我理解'0.27f''1.27f''2.27f'

之间的区别

格式字符串中的第一个数字是宽度,而不是小数点左边的宽度。如果有其他因素迫使表示变长,则忽略它,例如您在所有 3 个示例中要求小数点右边的 27 位。

通过使总宽度足够大,您可以开始看到差异,例如

print(format(x, '30.27f'))
 0.010000000000000000208166817
print(format(x, '31.27f'))
  0.010000000000000000208166817
print(format(x, '32.27f'))
   0.010000000000000000208166817

尝试

print(format(x, '100.27f'))

答案是填充。