如何在 Lua 编程中将字符串转换为 int?


Lua 会进行隐式转换,也称为强制转换,当它注意到你正在尝试使用数字却写了一个字符串时,它就会自动将字符串转换为一个int,这非常有用。

让我们考虑一个简单的例子,我将声明一个字符串变量,然后我将尝试对其进行算术运算,然后一旦 Lua 编译器推断出我们正在尝试将字符串用作int,它将自动将其转换为一个int

示例

考虑下面所示的示例 −

 在线演示

str = "10"
print(type(str))
num = 2 * str
print(num)
print(type(num))

输出

string
20
number

既然我们知道了自动转换(强制转换),那么学习如何显式进行转换是一个好主意,第一种方法是在字符串值后面追加一个 0,并且该值将被转换为一个整数。

示例

考虑下面所示的示例 −

 在线演示

-- uncommon method
str = "100"
num = str + 0
print(type(num))
print(num)

输出

number
100

上述方法不是一个很常用的方法,最好使用库函数将字符串转换为数字。

示例

考虑下面所示的示例 −

 在线演示

-- common method
str = "100"
num = tonumber(str)
print(type(num))
print(num)

输出

number
100

更新于: 2021 年 7 月 20 日

4K+ 浏览

开启您的职业生涯

完成课程,获得认证

开始
广告