我有一个正整数变量,它的值可以在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:
您可以使用
ljust
和str
,然后将结果转换为int
。有关
ljust
的更多信息,请参见: https://docs.python.org/2/library/stdtypes.html#string-methods您甚至不需要格式化操作符,只需要简单的
str
方法。用零右对齐:用零左对齐:
如果
x
当前是int
,则需要首先在str
中包装x
。在这一点上,当需要对正时,可以像其他人建议的那样使用格式化运算符直接生成最终的str
,而不使用中间的str
。我不知道为什么零被切掉了(理想情况下,您应该解决问题的根源),但是您可以将数字格式化为字符串,然后将它们转换回
int
s:这个左边将每个数字与
<
对齐,在一个3
字符宽的字段中,用0
填充额外的字符。相关问题 更多 >
编程相关推荐