关于以下行(来自here):
"%.8x" % 7929856 #=> "00790000"
我不了解7929856
为获取值"00790000"
所做的工作。我知道0x790000
是十六进制的7929856
,但我不知道两个前导零的来源。这只是将数字转换为十六进制的方法吗?有人可以解释那里发生的事情吗?
答案 0 :(得分:3)
我对Ruby并不十分熟悉,但我的猜测(来自C中的类似语法)是“%。8x”中的“8”表示显示8位数。
答案 1 :(得分:3)
"%.8x"
是%x
,指定了最小精度。在这种情况下,8位数。所以,如果你给它:
"%.8x" % 1
> '00000001'
结果总是至少有8位数字,可能更多。