我应该如何在Squirrel中将以10为基数转换为以16为基数的整数?在Javascript中,我可以使用parseInt("ff", 16)来做到这一点。

我正在尝试为Electric Imp做一个十六进制颜色代码到RGB计算器。 #ffaacc将分为三部分(ffaacc)。然后,我将计算这些值以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))

10-06 06:38