1

在 Javascript 中,有没有办法让十六进制颜色的按位补码总是返回一个 6 个字符的字符串?

例如,('0xff0537' ^ '0xffffff').toString(16)生成 4 个字符的字符串'fac8'

但是, a('0x00adeb' ^ '0xffffff').toString(16)返回一个 6 个字符的字符串'ff5214'

4

2 回答 2

0

您可以通过添加前导 1 使其始终为 7 个字符,转换为字符串,最后删除第一个字符使其再次变为 6。这将保留前导零;

> (1<<24 | '0xff0537' ^ '0xffffff').toString(16).substring(1)
'00fac8'
于 2014-06-01T21:06:32.547 回答
0

我最终解决了这个问题:

return ('000000' + (('0xffffff' ^ '0x00adeb').toString(16))).slice(-6);
于 2014-06-02T00:52:30.847 回答