在Python中格式化多个浮点值的字符串
我想把一个字符串里的浮点数值截断,但我不太确定该怎么做。
现在我在用Python的xml.dom.minidom来生成一些xml文件,使用的是Node.toxml()。我有这样的代码:
1.471392 0.740274 0.659904 -0.560021 1.312128 -0.697930 1.557193 5.156295 2.279541 -0.760170 -0.778676
-4.882018 0.872503 0.553950 4.468880 -0.793693 0.572676 0.521594 -1.535048 -0.736827 -3.014793 12.288257
5.243127 -0.850610 2.382368 2.183009 0.733634 0.669893 -0.658211 -1.229626 6.780756 -0.608808 -0.914032
不过我想把每个浮点数值都截断到小数点后两位,这样第一个值看起来会像这样:
1.47 0.74
这里我没有包含其他的值。
我在想,是不是应该遍历整个文档,然后用某个函数来处理每个字符串?有没有人做过类似的事情,或者有没有什么简单的解决办法我完全没想到?
非常感谢,
C
4 个回答
1
我觉得这段代码更准确地回答了问题:
pstring= '%.2f %.2f' % (1.471392, 0.740274 )
print(pstring)
输出结果:
1.47 0.70
1
在编程中,有时候我们需要让程序在特定的条件下执行某些操作。比如说,当用户点击一个按钮时,程序就会做出反应。这种反应可以是显示一条消息、打开一个新页面,或者执行其他的任务。
为了实现这些功能,程序员会使用一些特定的代码来定义这些条件和反应。这样,当条件满足时,程序就会按照预设的方式运行。
总之,编程就像给计算机下达指令,让它按照我们的想法去做事情。只要我们把这些指令写得清楚,计算机就能理解并执行。
>>> '%.2f' % (1.471392,)
'1.47'
1
这里有一行代码:
" ".join([str(round(float(i),2)) for i in data.split(' ')])
其中,data 是你要处理的一串浮点数。虽然可能不是最有效率的方法,但它能完成任务。