我想在JavaScript中将Integer转换为具有固定长度的hex-string
例如,我想将154转换为长度为4位数字(009A)的十六进制。我不知道这样做的正确方法。

最佳答案

当将Number.prototype.toString()作为参数(基数为16)传递时,16可以将数字转换为十六进制:

new Number(154).toString(16) //'9A'

但是,这不会有前导零。如果您希望在前导零之前添加前缀,则可以提供4个零的字符串'0000''9A'串联,然后使用slice来截取最后4个字符:
var value = 154;
var hex = ('0000' + value.toString(16).toUpperCase()).slice(-4); //009A

事件的顺序显示如下:
154 -> '9a' -> '9A' -> '00009A' -> '009A'

09-07 13:12