Разобрать целое число от основания 10 до основания 16 в белке

Как мне сделать преобразование целых чисел от 10 до 16 в Squirrel? В Javascript я могу сделать это с: parseInt("ff", 16),

Я пытаюсь сделать код цвета HEX для калькулятора RGB для электрического беса. #ffaaccбудет разделен на 3 части (ff, aa а также cc). Затем я вычислил бы их до 10 целых чисел и достиг бы RGB(255, 170, 204). Эти цифры я буду использовать для управления RGB-светодиодом с ШИМ.

2 ответа

Решение

Вот один из подходов, использующих 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))

Попробуйте использовать функцию String tointeger().

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

Если вы хотите конвертировать наоборот, попробуйте функцию format().

local i = 255;
print (format("%x", i));
Другие вопросы по тегам