我想打印精确到点前 2 位和点后 3 位的数字。
示例:
1232.352232
9.1
将显示:
32.352
09.100
我知道
print "%.3f" % 32.352
会在点后显示 3 位数字,但如果小于 2 位数字,如何用 0 获取点前的 2 位数字?
最佳答案
您可以指定输出的总宽度;如果您包含一个前导 0,那么该数字将用零填充以匹配该最小宽度:
"%06.3f" % float_number
演示:
>>> for float_number in (1232.352232, 9.1):
... print "%06.3f" % float_number
...
1232.352
09.100
请注意,该数字是最小宽度!如果您需要截断 float 本身,则需要使用切片:
("%06.3f" % float_number)[-6:]
如果长度超过 6,这将截断字符串以从开头删除字符:
>>> for float_number in (1232.352232, 9.1):
... print ("%06.3f" % float_number)[-6:]
...
32.352
09.100
您可能想查看 format()
function也;此功能可让您应用 same formatting syntax作为 str.format()
formatting method和 formatted string literals ;花车的语法基本相同:
>>> for float_number in (1232.352232, 9.1):
... formatted = format(float_number, '06.3f')
... print(formatted[-6:], formatted)
...
32.352 1232.352
09.100 09.100
关于python - 在逗号前打印 2 个数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26639013/