如何使用sprintf打印带有前导0的十六进制数字以使宽度为2?

Mar*_*ert 20 printf r

我尝试将0到255之间的数字转换为十六进制格式.如果我使用sprintf("%X", 1)我得到1,但我需要输出总是宽度为2(前导0)而不是1.如何才能做到这一点?

Joa*_*ora 47

用途%02X:

sprintf("%02X",1)    # ->  "01"
sprintf("%02X",10)   # ->  "0A"
sprintf("%02X",16)   # ->  "10"
sprintf("%02X",255)  # ->  "FF"
Run Code Online (Sandbox Code Playgroud)