我想将浮点数的格式严格设置为3或4个小数位。
例如:
1.0 => 1.000 # 3DP
1.02 => 1.020 # 3DP
1.023 => 1.023 # 3DP
1.0234 => 1.0234 # 4DP
1.02345 => 1.0234 # 4DP
'{:.5g}'.format(my_float)
和'{:.4f}'.format(my_float)
的组合类型。有任何想法吗?
最佳答案
假设我了解您的要求,则可以将其格式化为4,然后在尾随的'0'(如果有的话)的后面加上0。像这样:
def fmt_3or4(v):
"""Format float to 4 decimal places, or 3 if ends with 0."""
s = '{:.4f}'.format(v)
if s[-1] == '0':
s = s[:-1]
return s
>>> fmt_3or4(1.02345)
'1.0234'
>>> fmt_3or4(1.023)
'1.023'
>>> fmt_3or4(1.02)
'1.020'
关于python - 浮点格式格式化为3或4个小数位,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27240259/