我在 Python 中有一个浮点数列表,当我将其转换为字符串时,我得到以下内容
[1883.95, 1878.3299999999999, 1869.4300000000001, 1863.4000000000001]
这些浮点数在我创建它们时在小数点后有 2 位数字(我相信是这样),
然后我用
str(mylist)
如何获取小数点后两位数的字符串?
======================
让我更具体一点,我希望最终结果是一个字符串,并且我想保留分隔符:
"[1883.95, 1878.33, 1869.43, 1863.40]"
之后我需要做一些字符串操作。例如 +="!\t!"
。
受@senshin 的启发,下面的代码可以工作,但我认为有更好的方法
msg = "["
for x in mylist:
msg += '{:.2f}'.format(x)+','
msg = msg[0:len(msg)-1]
msg+="]"
print msg
原文由 Niebieski 发布,翻译遵循 CC BY-SA 4.0 许可协议
使用字符串格式来获取所需的小数位数。
格式字符串
{:.2f}
表示“打印一个定点数 (f
),小数点后两位 (.2
)”.b—str.format
将自动正确地舍入数字(假设您首先输入了两位小数的数字,在这种情况下,浮点数错误不足以扰乱舍入)。