繁体   English   中英

在逗号前打印 2 个数字

[英]Printing 2 numbers before comma

我想在点之前打印 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

请注意,数字是最小宽度! 如果您需要截断浮点数本身,则需要使用切片:

("%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()函数 此函数允许您应用与str.format()格式化方法格式化字符串文字相同的格式化语法 浮点数的语法基本相同:

>>> 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
x = "9,1"

def displayNum(num):
    f,s = num.strip().split(',')
    f = '0'*(2-len(f))+f if len(f) < 2 else f[-2:]
    s = s + '0'*(3-len(s)) if len(s) < 3 else s[:3]
    return ",".join([f,s])

print(displayNum(x))

09,100

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM