我正在尝试将包含多个数字的字符串转换为单个 int
像这样:
x="5+5" --amount of numbers is not constant
y=tonumber(x)
print(y)
这样做的结果是nil
虽然应该是10
(整数)。我解决这个问题的唯一方法是首先搜索所有"+"
and "-"
with string.find()
然后将其切割成所有必要的部分,然后从那里开始tonumber()
。为这样一个简单的问题编写至少一百行代码感觉很愚蠢。
tonumber
只能用于实数字符串,不能用于算术表达式。
您可以加载字符串并运行它:
x = "5 + 5"
func = assert(load("return " .. x))
y = func()
print(y)
在 Lua 5.1 中,使用loadstring
代替load
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)