当使用 tonumber()
函数将 Lua 字符串转换为数字时,需要注意以下几点:
基本用法:
local str = "42"
local num = tonumber(str)
print(num) -- 输出:42
处理特殊情况:
当字符串无法转换为有效的数字时,tonumber()
返回 nil
。
local str = "abc"
local num = tonumber(str)
if num == nil then
print("无法转换为数字")
end
如果要将十六进制或其他进制的字符串转换为数字,可以指定第二个参数为对应的进制数。
local hex_str = "1A" -- 十六进制表示的数字
local num = tonumber(hex_str, 16)
print(num) -- 输出:26
处理浮点数:
tonumber()
会自动转换为浮点数。local float_str = "3.14"
local num = tonumber(float_str)
print(num) -- 输出:3.14
处理科学计数法:
local sci_str = "6.022e23"
local num = tonumber(sci_str)
print(num) -- 输出:6.022e+23
通过这些示例,你可以更详细地了解如何在 Lua 中将字符串转换为数字。