尝试对全局'num1'(字符串值)执行算术运算

时间:2019-12-27 14:17:12

标签: lua roblox

所以我一直在研究ROBLOX计算器游戏,制作游戏时在控制台中出现此错误:

attempt to perform arithmetic on global 'num1' (a string value)

我不知道如何解决它,我对lua还是很陌生,所以如果有人可以帮我解决这个问题,那就太好了。这是我的代码:

num1 = script.Parent.Parent.num1.PlaceholderText
num2 = script.Parent.Parent.num2.PlaceholderText
opadd = nil
while true do
    num1 = script.Parent.Parent.num1.PlaceholderText
    num2 = script.Parent.Parent.num2.PlaceholderText
    opadd = ((num1) + (num2))
    script.Parent.Text = opadd
end

编辑:现在,如果我尝试将opadd = num1 + num2更改为opadd = tonumber(num1) + tonumber(num2),则会显示错误消息:

Players.DemonicDevy0.PlayerGui.ScreenGui.TextLabel.LocalScript:7: attempt to perform arithmetic on a nil value

我猜这意味着要使用tonumber(string)将字符串值num1和num2更改为数字,它的作用就好像tonumber(string)都是一个变量,并说它是nil值。

1 个答案:

答案 0 :(得分:1)

num1num2是字符串。您正在从文本对象中获取它们。要将它们转换为数字,只需放入tonumber(num1) + tonumber(num2)即可。