微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

获取完整的十六进制整数

如何解决获取完整的十六进制整数

我正在使用 parseInt 将十六进制代码转换为 16 字节,颜色编号

parseInt('ef7f31',16) // 15695665

上述输出 15695665 是预期的。 当十六进制的 RGB 部分全部为零时,问题就出现了,然后它会缩短它。例如这种颜色#0098d9。

parseInt('0098d9',16) // 39129

上例中的十六进制将红色全为零,这使得输出39129。如果我像这样将该输出转换回十六进制 (39129).toString(16) 它将返回 98d9 没有零在第一位。我可以添加零但可能不知道哪个位置

所以我的问题是,在将十六进制转换为 int 后如何让它显示完整数字

解决方法

一种方法是使用 String.prototype.padStart()

(39129).toString(16).padStart(6,"0")
//"0098d9"

由于只会忽略 MSB 末尾的零,因此在转换回十六进制字符串时填充前导零足以恢复 RGB 表示。

或者您可能希望采用更系统的方法,例如分别存储 RGB 值,并在转换回十六进制字符串时将它们连接起来。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。