如何格式化十六进制以在JavaScript中始终显示4位数?在Javascript中格式化十六进制
例如,我十进制转换为十六进制:
port = 23
function d2h(d) {return (+d).toString(16);}
d2h(port)
我就能成功的“23”转换为十六进制值“17”。不过,我希望格式化为这样的“0017”(4位数字 - 在17之前附加0)。
所有信息将不胜感激。
如何格式化十六进制以在JavaScript中始终显示4位数?在Javascript中格式化十六进制
例如,我十进制转换为十六进制:
port = 23
function d2h(d) {return (+d).toString(16);}
d2h(port)
我就能成功的“23”转换为十六进制值“17”。不过,我希望格式化为这样的“0017”(4位数字 - 在17之前附加0)。
所有信息将不胜感激。
这里有一个简单的方法:
return ("0000" + (+d).toString(16)).substr(-4);
或者:
return ("0000" + (+d).toString(16)).slice(-4);
您可以用sprintf http://www.diveintojavascript.com/projects/javascript-sprintf
我还没有尝试过,但这样的事情应该工作:
sprintf("%.4X", d)
完美的工作!我使用切片方法...谢谢! –