我之前曾询问过在 Python 中使用 f 字符串进行格式化时动态调整浮点数中的小数位数。虽然我发现类似的问题可以解决使用 f 字符串进行动态格式化的各个方面,但没有一个问题专门解决基于变量改变精度(小数位)的挑战。
我发现的最接近的讨论集中在[插入方面,例如对齐、宽度等],这并不是我正在努力解决的问题。我的目标是将浮点数格式化为运行时确定的小数位数。
示例
n = 5 # The number of decimal places should be dynamic
value = 0.345
# Desired output: '0.34500', but with 'n' determining the number of zeroes
value = 0.345
尝试直接应用相关问题的解决方案并未产生我需要的结果,因为它们主要处理静态格式或不直接解决精度问题。
问题:如何修改 f 字符串语法以适应指示格式化输出中小数位数的变量?我正在寻找一种方法,使 f 字符串中浮点数的精度与宽度或对齐方式一样灵活。
这应该有效:
n = 5
value = 0.345
print(f'{value:.{n}f}')
输出:
0.34500