我有一些代码,它接受表示十六进制数字的字符串-实际上是十六进制颜色-并将它们相加。例如,将aaaaaa
和010101
相加得到输出ababab
。
然而,我的方法似乎不必要地冗长和复杂:
var hexValue = "aaaaaa";
hexValue = "0x" + hexValue;
hexValue = parseInt(hexValue, 16);
hexValue = hexValue + 0x010101;
hexValue = hexValue.toString(16);
document.write(hexValue); // outputs 'ababab'
在连接0x
之后,十六进制值仍然是一个字符串,所以我必须将其更改为数字,然后我可以加法,然后我必须将其改回十六进制格式!如果我添加的数字一开始是一个十六进制字符串,或者如果你考虑到我在这一切开始之前从十六进制颜色中删除了#
,那么还有更多的步骤。
当然,还有一种更简单的方法来进行这种简单的十六进制计算!为了清楚起见,我的意思不是像(parseInt("0x"+"aaaaaa",16)+0x010101).toString(16)
那样把所有的东西都放在一行上,或者使用速记--我的意思是实际上做的操作更少。
有没有办法让javascript停止对它所有的数学运算使用十进制,转而使用十六进制?或者有没有其他方法可以让JS更容易地与十六进制一起工作?
https://stackoverflow.com/questions/11023144
复制相似问题