3

我应该如何在 Squirrel 中进行基数 10 到基数 16 的整数转换?在 Javascript 中,我可以这样做parseInt("ff", 16)

我正在尝试为 Electric Imp 的 RGB 计算器做一个十六进制颜色代码。#ffaacc将分为 3 个部分(ffaacc。然后我会计算这些以 10 个整数为基数并实现 RGB(255, 170, 204)。然后我将使用这些数字来控制带 PWM 的 RGB LED。

4

2 回答 2

3

尝试 String tointeger() 函数。

local s = "ff";
print (s.tointeger(16));

如果您想反过来转换,请尝试 format() 函数。

local i = 255;
print (format("%x", i));
于 2014-09-01T01:43:12.503 回答
1

这是使用array.find的一种方法(以及反转格式):

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))
于 2014-10-19T10:09:14.503 回答