所以我一直在研究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值。
答案 0 :(得分:1)
num1
和num2
是字符串。您正在从文本对象中获取它们。要将它们转换为数字,只需放入tonumber(num1) + tonumber(num2)
即可。