字符串到数字转换

ASt*_*her 3 string lua numbers

我正在尝试在我的新服务器修改中为需要数字和字符串的Crysis Wars进行几个chatcommands.为了获得玩家输入,我这样做:

local name, time, reason = string.match(chatMsg, "^!punish (.*) (%d+) (.*)");
Run Code Online (Sandbox Code Playgroud)

由于某种原因,它无法正常工作(将数值作为字符串获取).数字值是string.match中的第二个变量.我在这里做错了吗?我也试图找到解决方案,但没有找到任何解决方案.也许我应该使用不同的方法来获取数字?

dua*_*led 6

它实际上非常简单,只需在您在问题中发布的行之后添加以下行.

time = tonumber(time);
Run Code Online (Sandbox Code Playgroud)

如下面的评论中所述,您可以实现相同的目标

time = time + 0
Run Code Online (Sandbox Code Playgroud)

  • @EgorSkriptunoff虽然有一个区别:`"a"+ 0`导致错误,而`tonumber("a")`只返回`nil` (2认同)