python - 在 Python 中将浮点列表转换为字符串

我有一个 Python 中的 float 列表,当我将其转换为字符串时,我得到以下内容

[1883.95, 1878.3299999999999, 1869.4300000000001, 1863.4000000000001]

当我创建它们时,这些 float 在小数点后有 2 位(我相信如此),

然后我用了

str(mylist)

如何得到小数点后2位的字符串?

=======================

让我更具体一点,我希望最终结果是一个字符串,并且我想保留分隔符:

"[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

最佳答案

使用字符串格式获取所需的小数位数。

>>> nums = [1883.95, 1878.3299999999999, 1869.4300000000001, 1863.4000000000001]
>>> ['{:.2f}'.format(x) for x in nums]
['1883.95', '1878.33', '1869.43', '1863.40']

格式字符串{:.2f}的意思是“打印一个小数点后两位的定点数(f)(.2)”。 str.format 将自动正确地对数字进行四舍五入(假设您首先输入了带两位小数的数字,在这种情况下,浮点错误不足以弄乱四舍五入) .

https://stackoverflow.com/questions/23418600/

相关文章:

xml - 使用 Powershell 进行外科 XML 编辑

xml - 在 ruby​​ 中格式化 xml 字符串的最佳方法是什么?

c# - 对信用卡号使用字符串格式

.net - 使用 .NET 字符串格式化,如何格式化字符串以显示零 (0) 的空白(空字符串)?

c# - 如何将货币字符串格式化为整数?

php - 在php中添加前导0

java - 日期格式 : month abbreviation with dot

java - 如何在 Netbeans 中配置 Java 导入的组织

python - 如何用不同的表达式格式化原始字符串?

datetime - 如何在 Crystal Reports 中显示当前日期和时间?