如何将尾随零添加到整数

2024-06-09 17:10:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个正整数变量,它的值可以在0到999之间。然后这个整数被传递给一个软件。

要传递到该软件中,整数应始终为3位。但问题是,它应该有尾随的零。

例如:

1 should be passed as 100
19 should be passed as 190
255 should be passed as 255

它可以通过检查变量的长度并根据长度乘以10或100来完成。但是有没有更好的Python替代品。而且这对值0也不起作用。

(注意:后面的零是因为整数值实际上是毫秒值。软件逐位读取数值,通常需要3位数字)


Tags: 替代品软件as数字整数be数值该软件
3条回答

您可以使用ljuststr,然后将结果转换为int

>>> numbers = [1, 19, 255]
>>> [int(str(num).ljust(3, '0')) for num in numbers]
[100, 190, 255]

有关ljust的更多信息,请参见: https://docs.python.org/2/library/stdtypes.html#string-methods

您甚至不需要格式化操作符,只需要简单的str方法。用零右对齐:

x.zfill(3)

用零左对齐:

x.ljust(3, '0')

如果x当前是int,则需要首先在str中包装x。在这一点上,当需要对正时,可以像其他人建议的那样使用格式化运算符直接生成最终的str,而不使用中间的str

我不知道为什么零被切掉了(理想情况下,您应该解决问题的根源),但是您可以将数字格式化为字符串,然后将它们转换回ints:

numbers = [1, 19, 255]
numbers = [int('{:<03}'.format(number)) for number in numbers]

这个左边将每个数字与<对齐,在一个3字符宽的字段中,用0填充额外的字符。

相关问题 更多 >