Lua - 字符串转整数



Lua 在发现您试图使用数字但写的是字符串时会进行隐式转换,也称为强制类型转换。它会自动将字符串转换为**整数**,这非常有用。

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

示例

考虑以下示例:

main.lua

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

输出

string
20
number

现在我们了解了自动转换(强制类型转换),学习如何显式进行转换是个好主意。第一种方法是在字符串值后面附加一个 0,该值将转换为整数。

示例

考虑以下示例:

main.lua

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

输出

number
100

上述方法并不常见,最好使用库函数将字符串转换为数字。

示例

考虑以下示例:

main.lua

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

输出

number
100
广告