我应该如何在Squirrel中将以10为基数转换为以16为基数的整数?在Javascript中,我可以使用parseInt("ff", 16)
来做到这一点。
我正在尝试为Electric Imp做一个十六进制颜色代码到RGB计算器。 #ffaacc
将分为三部分(ff
,aa
和cc
)。然后,我将计算这些值以10个整数为基础,并实现RGB(255,170,204)。然后,我将使用这些数字来控制带PWM的RGB led。
最佳答案
这是使用array.find(和format进行逆转)的一种方法:
local lookup = ['0','1','2','3','4','5','6','7','8','9',
'a','b','c','d','e','f']
local hex = "7f"
local dec = lookup.find(hex[0]) * 0x10 + lookup.find(hex[1])
server.log(format("%s -> %d -> %02x", hex, dec, dec))