我有一个包含这些浮点数的列表:35.1,35.2,35.10,...
当我将此浮点数列表转换为另一个字符串列表时,35.10将为35.1。
这是我的例子:
a = [35.1,35.2,35.3,35.10,35.2,35.3]
str_a = [format(flt) for flt in a]
print str_a
['35.1', '35.2', '35.3','35.1', '35.2', '35.3']
我该如何纠正这个问题?在我的工作中,两个数字35.1和35.10是不同的
答案 0 :(得分:1)
鉴于最初的问题,这是不可能的。浮点数不具有固定的小数位数(因此名称为"浮点数"!)。在创建浮动列表之前,您需要提前执行此操作。
答案 1 :(得分:0)
我认为这不可能区分35.1和35.10
>>> 35.1 == 35.10
True
答案 2 :(得分:-2)
也许你可以试试:
a = [35.1,35.2,35.3,35.10,35.2,35.3]
map(lambda x: '%.2f' % x, a)
给你:
['35.10', '35.20', '35.30', '35.10', '35.20', '35.30']