2013-06-05 41 views
0

初始化标量变量具有整数值转换的十进制数为十六进制在Perl在特定格式

my $dec = 1211; 
print "Hexadecimal number: ", uc(sprintf("%x\n", $dec)), "\n"; 

显示器4BB

但是我怎样才能获得输出在000004BB ORMAT。

+0

'$ dec'是用词不当。 * Decimal *(和十六进制)是用文本(一个字符串)表示数字的方法。 '$ dec'不包含字符串。它包含2的补数*数字*。 '$ num'更有意义。 – ikegami

回答

5

使用长度说明用前导零:

sprintf('%08X', $dec) 

而且,你不需要使用uc()功能:只要使用%X(资本-X)格式字符。

要打印标题,以及:

printf "Hexadecimal number: %08X\n", $dec 
相关问题