如何将整数转换为 Javascript 中固定长度的十六进制?
How can I convert an integer to hex with a fix length in Javascript?
我想将 Integer
转换为 hex-string
并在 JavaScript
中固定长度
例如我想将 154 转换为长度为 4 位的十六进制 (009A
)。我想不出正确的方法。
您可以添加一些零并使用 String#slice
作为字符串数字。
var value = 154,
string = ('0000' + value.toString(16).toUpperCase()).slice(-4);
console.log(string);
var value = 154,
string = value.toString(16).toUpperCase().padStart(4, 0);
console.log(string);
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'
我想将 Integer
转换为 hex-string
并在 JavaScript
例如我想将 154 转换为长度为 4 位的十六进制 (009A
)。我想不出正确的方法。
您可以添加一些零并使用 String#slice
作为字符串数字。
var value = 154,
string = ('0000' + value.toString(16).toUpperCase()).slice(-4);
console.log(string);
var value = 154,
string = value.toString(16).toUpperCase().padStart(4, 0);
console.log(string);
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'