我有2个整数变量,我想要转换为十进制整数。结果应该是这样的:
a = 10
b = 12
c = 10.12
我可以将它们连接成一个字符串十进制数,但是我不能在结果上使用数学函数。我曾尝试在字符串上使用tonumber()
,但我得到了nil
值。
答案 0 :(得分:1)
我假设在开头a
和b
是整数,你想加入它们,以便a
是结果数的整数部分,b
是小数部分 - 双数或浮点数中逗号或点后面的部分。
这是你建议的字符串连接解决方案,对我来说很好用
a = 10
b = 12
c = tonumber(a..'.'..b)
print(c) -- prints 10.12
这里我们使用数学来计算除b
之间的数量,使其成为正确的小数,然后我们将其添加到a
。确定10的幂的代码可在此处找到:How can I count the digits in an integer without a string cast?
a = 10
b = 12
c = a + b / math.pow(10, b == 0 and 1 or math.floor(math.log(math.abs(b), 10))+1)
print(c) -- prints 10.12