lua5.1中uint64转换为hex

嘿,我无法正确地进行此项转换。我使用以下代码

RawGUID = 17379524724484210731 --这样存储变量是不可能的,它最终将转换为test3。 存储为userdata我无法改变
test1 =“17379524724484210731”

test2 =“1.7379524724484e + 019”
test3 = 1.7379524724484e + 019

function tohex(num)
    local charset = {“0”,“1”,“2”,“3”,“4”,“5”,“6”,“7”,“8”,“9”,“A”,“B”,“C”,“D”,“E”,“F”}
    local tmp = {}
    repeat
        table.insert(tmp,1,charset [num%16 +1])
        num = math.floor(num / 16)
    直到num == 0 
    return table.concat(tmp)
end

RawGUID是我需要转换为十六进制字符串的示例,其余的变量只是相同数字的转换。 该代码对64位以下的任何内容都有效。

老实说,为了实现我的目标,我需要一个十六进制字符串来使我的其余代码工作

我得到的结果:F13079A800000000

我想要的结果:F13079A80000002B

点赞