1

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

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

但这里面临的问题是,如果十进制值是35,那么我得到的十六进制值是0x23。但是输出为0x023。有什么办法可以做到这一点?

4

1 回答 1

4

您不需要添加该0x部分,您可以使用零来证明:

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

文档在这里。请注意,此处要证明的“零数”是 5,而不是人们可能认为的 3。

于 2013-07-01T09:00:44.233 回答