我需要将浮点值表示为小数点后具有不同位数的字符串,这应该由变量设置,而不是像"%.2f"
那样硬编码.
现在我使用round
方法:
def float_to_str(value, digits):
return str(round(value, digits))
此函数会删除多余的数字,因此结果没有指定的数字位数。但它不会添加尾随零。
float_to_str(1.3573, 2) => "1.35" - OK
float_to_str(1.3573, 3) => "1.357" - OK
float_to_str(1.3000, 2) => "1.3" - NOT OK (needed "1.30")
有没有更好的方法来实现这个功能?
最佳答案
您应该使用 format
函数,它可以使用类似于 "%.2f"
的语法,并格式化它:
def float_to_str(value, digits):
return "{value:.{digits}f}".format(value=value, digits=digits)
关于Python: float 为小数点后可变位数的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61090311/