在Javascript中更方便地处理十六进制字符串和十六进制值
- 论坛
- 在Javascript中更方便地处理十六进制字符串和十六进制值
26 浏览
在Javascript中更方便地处理十六进制字符串和十六进制值
我有一些代码,它接受表示十六进制数字的字符串 - 实际上是十六进制颜色 - 并将它们相加。例如,将aaaaaa
和010101
相加得到ababab
的输出。
然而,我的方法似乎过于冗长和复杂:
var hexValue = "aaaaaa"; hexValue = "0x" + hexValue; hexValue = parseInt(hexValue, 16); hexValue = hexValue + 0x010101; hexValue = hexValue.toString(16); document.write(hexValue); // 输出'ababab'
在连接0x
之后,十六进制值仍然是一个字符串,所以我必须将它转换为数字,然后才能进行相加,然后我又必须将它重新转换回十六进制格式!如果要添加的数字本身就是一个十六进制字符串,或者如果考虑在所有这些操作之前先删除十六进制颜色中的#
,则还有更多步骤。
肯定有更简单的方法来进行如此简单的十六进制计算!并且,只是为了明确,我不是指将所有代码放在一行上,像(parseInt("0x"+"aaaaaa",16)+0x010101).toString(16)
这样,或者使用简写 - 我的意思是实际上进行更少的操作。
有没有办法让JavaScript在所有数学运算中停止使用十进制而使用十六进制?或者是否有其他方法使JavaScript更容易处理十六进制?