如何将尾随零添加到整数

Sar*_*thy 3 python python-2.7

我有一个正整数变量,其值可以在0到999之间.然后将该整数传递给软件.

要传入此软件,整数应始终为3位数.但问题是,它应该有尾随零.

例如:

1 should be passed as 100
19 should be passed as 190
255 should be passed as 255
Run Code Online (Sandbox Code Playgroud)

可以通过检查变量的长度并乘以10或100来完成,具体取决于长度.但有没有更好的Python替代方案.这对于值0也不起作用.

(注意:尾随零是因为整数值实际上是一个毫秒值.软件逐位读取值,它总是需要3位数)

Sha*_*ger 12

你甚至不需要格式化操作符,只需要简单的str方法.用零来正确地证明:

x.zfill(3)
Run Code Online (Sandbox Code Playgroud)

用零左对齐:

x.ljust(3, '0')
Run Code Online (Sandbox Code Playgroud)

如果当前是这样的话,你需要首先包装xstr这个场景中.此时,可能值得使用格式化运算符,因为其他人已经建议在需要调整时直接生成final ,而没有中间.xintstrstr


Tig*_*kT3 5

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

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

这左对齐每个数字<,在3字符宽的字段中填充额外的字符0.


Kar*_*ark 5

您可以通过使用ljust和执行此操作str,然后将结果转换为int.

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

更多信息请ljust访问:https: //docs.python.org/2/library/stdtypes.html#string-methods

  • 感谢格式化修复,@ Kevin Guan! (2认同)