Ruby sprintf,关于"%02x"中的"2"

And*_*ind 2 ruby

sprintf("%02x", c)
Run Code Online (Sandbox Code Playgroud)

我知道这段代码将十进制转换为十六进制,但"2"是什么意思?

Jac*_*ack 7

0是填充字符,同时2是一个宽度,指定要打印多少个字符.它旨在作为最小字符数,因此02总是至少打印2个字符,如果没有其他数据显示,它们将为零.