6是python格式中浮点的默认十进制数字吗?
我正在学习python中的format方法,并试图通过它将1转换为float6是python格式中浮点的默认十进制数字吗?,python,floating-point,format,Python,Floating Point,Format,我正在学习python中的format方法,并试图通过它将1转换为float "{:f}".format(1) 但是为什么输出是'1.000000'而不是'1.0'?如果不指定小数位数,我想这是默认输出。使用3.6+f字符串格式: f'{1.123456789:f}' '1.123457' f'{1:.1f}' '1.0' f'{1.12345678901234567:.10f}' '1.1234567890' 另一个问题是,例如,浮点数的精度是多少 f'1.1:.20f' '1.100
"{:f}".format(1)
但是为什么输出是
'1.000000'
而不是'1.0'
?如果不指定小数位数,我想这是默认输出。使用3.6+f字符串格式:
f'{1.123456789:f}'
'1.123457'
f'{1:.1f}'
'1.0'
f'{1.12345678901234567:.10f}'
'1.1234567890'
另一个问题是,例如,浮点数的精度是多少
f'1.1:.20f'
'1.10000000000000008882'
这似乎意味着一个浮点数的精度可以达到16位小数。如果您需要更多,则需要使用十进制
模块使用f
格式化的说明“将数字显示为定点数字。默认精度为6。”
请注意,并非所有Python实现都使用相同的浮点格式。作为文档,大多数现代机器使用IEEE-754浮点算法,几乎所有平台都将Pythonfloat
对象映射为IEEE-754基本64位二进制格式,但这并不能保证