我被Python 3.7.2中f-strings的默认行为所吸引:
>> number = 0.0000001
>> string = f"Number: {number}"
>> print(string)
Number: 1e-07
我期望的是:数字:0.0000001
这个问题非常恼人,特别是在创建文件名时。我该如何禁用这种自动转换为科学计数法?而且为什么它首先启用了呢?
基本上与此问题相反。
编辑:我想避免通过{number:.8f}
设置浮点数的固定长度,因为我的数字长度不同,我不想有任何尾随零。我希望使用f-strings自动制作文件名,就像这样:
filename = f"number_{number:.10f}_other_number_{other_number:.10f}.json"
我正在寻找一个简单的修改器,可以禁用自动科学计数法,同时保持浮点数的原始精度。
0.0000001
不会得到0.0000001,而是得到0.0000000999999999999999954748111825886258685613938723690807819366455078125。 - Kelly Bundynumber = 0.01
起作用呢?是因为0.01
仍然在浮点数的标准精度范围内吗?我该如何让 f-string 理解更高精度的浮点数? - mrzostr(0.00001)
和repr(0.00001)
也都会得到'1e-05'
。还有一个旧问题,似乎没有人给出一个好的答案。 - Kelly Bundy