给定长度填充一个整数,前面加0,末尾加0

Pad an integer to a given length with one 0 in front and some at the end

我需要如下操作一个数字,

inputs
1
23456
6674321

outputs
01000000
02345600
06674321

只是在数字前面加一个零,如果少于八个字符,则在末尾加零。它应该是一个数字而不是一个字符串。有没有一种简单的方法可以完成此操作而无需从字符串转换为 int 或将 int 转换为字符串?

我试过的一个Sagemath代码如下。它只在前面添加零以将数字填充到 8 个字符。我需要像我提到的那样修改它。

for num in range(1,25):
    s=randrange(2^16)
    r=mod((s-1)*503,randrange(2^32-1))
    print "%08d" % (r)

在右边填充意味着将数字乘以 10 的适当次方。6-floor(log(x,10)) 次方在这里完成工作,因为您希望 1000000 不被填充。

for x in range(1, 101):
    print '%08d' % (x*10^(6-floor(log(x,10))))

这假设 x 处于完全可能进行此类填充的范围内:即 1 到 9999999 之间的整数。