Converter decimal em hex em Lua 4?

encontrei esta fórmula para converter números decimais em valores de cor hexadecimal em Lua:

Http://lua-users.org/lists/lua-l/2004-09/msg00054.html

no entanto, tenho algumas perguntas sobre a fórmula:

  1. a minha entrada tem de ser normalizada entre 0 a 1 em vez de 0 a 255. Há algum problema?
  2. Estou preso a Lua 4.01 em vez da última versão. Não posso melhorar. Há algum problema?
Obrigado!!

Author: posfan12, 2016-06-13

1 answers

Em Lua 5.x você pode usar o texto.função de formato com o %x especificador de formato para converter os inteiros para a sua representação hexadecimal. No teu caso seria assim:

local input = 0.5
local output = string.format("%x", input * 256) -- "80"

Eu não conheço Lua 4.0.1 bem assim eu não posso dizer-lhe Se esta função está disponível (talvez sob um nome diferente). Dito isto, se não for, então você pode ser capaz de trabalhar em conjunto, transformando isto em uma função C que usa sscanf.

 8
Author: hugomg, 2017-03-24 16:44:17