python - 在逗号前打印 2 个数字

标签 python printing precision

我想打印精确到点前 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 methodformatted 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/

相关文章:

安卓蓝牙打印机连接

python - 在python中同时读取两个列表中的输入

python - theano 定义重复调用另一个函数的函数?

android - 如何使用打印机(通过蓝牙打印)从安卓设备打印图像和一些数据?

swift - Double 与 Float 的浮点运算的惊人区别

math - float 学有问题吗?

r - 为什么我们渐进地接近值 0 "more"而不是值 1?

java - 我应该在捕获异常之前始终知道异常的类型吗?

python - Python2.6内置的hash方法跨架构稳定吗?

firefox - 静默打印 + 指定非默认打印机