在 Lua 中,我们可以将 字符串 类型的 变量 转换成数字类型,这个转换就叫做类型转换。在 Lua 中,将变量转成数字类型,我们可以使用 tonumber 函数。
val = tonumber(varname)
参数 | 描述 |
---|---|
varname | 需要转换的变量。 |
val | 转换后的值。 |
将变量 varname 转换为数字类型 val。
使用 tonumber 将字符串转成数字
#!/usr/bin/lua
print("haicoder(www.haicoder.net)\n")
a = "100"
b = "3.14"
print("a =", a, "type(a) =", type(a))
print("b =", b, "type(b) =", type(b))
sa = tonumber(a)
sb = tonumber(b)
print("sa =", sa, "type(sa) =", type(sa))
print("sb =", sb, "type(sb) =", type(sb))
程序运行后,控制台输出如下:
首先,我们定义了两个字符串类型的变量 a 和 b,接着我们使用了 tonumber 函数将其转成了数字类型。
使用 tonumber 不可以将布尔转成数字
#!/usr/bin/lua
print("haicoder(www.haicoder.net)\n")
a = true
b = false
print("a =", a, "type(a) =", type(a))
print("b =", b, "type(b) =", type(b))
sa = tonumber(a)
sb = tonumber(b)
print("sa =", sa, "type(sa) =", type(sa))
print("sb =", sb, "type(sb) =", type(sb))
程序运行后,控制台输出如下:
在 Lua 中,布尔类型不可以转成数字类型。
使用 tonumber 可以将十六进制的字符串转成数字
#!/usr/bin/lua
print("haicoder(www.haicoder.net)\n")
local num1 = tonumber("AF", 16)
local num2 = tonumber("0XA")
print("num1 =", num1)
print("num2 =", num2)
程序运行后,控制台输出如下:
在 Lua 中,可以使用 tonumber 可以将十六进制的字符串转成数字。
在 Lua 中,我们可以字符串类型的变量转换成数字类型,这个转换就叫做类型转换。在 Lua 中,将变量转成数字类型,我们可以使用 tonumber 函数。