了解浮动格式
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'))
答案是填充。
我写了下面的代码:
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'))
答案是填充。