在Lua 4中将十进制转换为十六进制?

pos*_*n12 3 lua hex type-conversion

我发现这个公式在Lua中将十进制数转换为十六进制颜色值:

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

但是,我对这个公式有几个问题:

  1. 我的输入需要在0到1而不是0到255之间进行归一化.这是一个问题吗?
  2. 我坚持使用Lua 4.01而不是最新版本.我无法升级.这是一个问题吗?

谢谢!!

hug*_*omg 8

在Lua 5.x中,您可以使用带有%x格式说明符的string.format函数将整数转换为十六进制表示.在你的情况下,它看起来像这样:

local input = 0.5
local output = string.format("%x", input * 256) -- "80"
Run Code Online (Sandbox Code Playgroud)

我不太了解Lua 4.0.1所以我不能告诉你这个功能是否可用(也许是以不同的名称).也就是说,如果不是,那么你可以通过将其转换为使用的C函数来解决问题sscanf.