Perl中的十六进制转换

时间:2013-07-01 08:51:51

标签: perl

我必须将十进制值转换为十六进制。在我的代码中我使用

$hex = sprintf("0x%X", $temp);

但是这里遇到的问题是如果小数值是35,那么我得到的十六进制值为0x23。但是将输出值设为0x023。有没有办法实现这个目标?

1 个答案:

答案 0 :(得分:4)

您无需添加0x部分,也可以使用零来证明:

sprintf "%#05x", 35;   # 0x023

文档here.请注意,要证明的“零的数量”是5,而不是人们想象的那样。