當使用 `tonumber()` 函數將 Lua 字符串轉換為數字時,需要注意以下幾點:
1. 基本用法:
```lua
local str = "42"
local num = tonumber(str)
print(num) -- 輸出:42
```
2. 處理特殊情況:
- 當字符串無法轉換為有效的數字時,`tonumber()` 返回 `nil`。
```lua
local str = "abc"
local num = tonumber(str)
if num == nil then
print("無法轉換為數字")
end
```
- 如果要將十六進制或其他進制的字符串轉換為數字,可以指定第二個參數為對應的進制數。
```lua
local hex_str = "1A" -- 十六進制表示的數字
local num = tonumber(hex_str, 16)
print(num) -- 輸出:26
```
3. 處理浮點數:
- 如果要處理包含小數點的字符串,`tonumber()` 會自動轉換為浮點數。
```lua
local float_str = "3.14"
local num = tonumber(float_str)
print(num) -- 輸出:3.14
```
4. 處理科學計數法:
- 可以直接將科學計數法表示的字符串轉換為數字。
```lua
local sci_str = "6.022e23"
local num = tonumber(sci_str)
print(num) -- 輸出:6.022e+23
```
通過這些示例,你可以更詳細地了解如何在 Lua 中將字符串轉換為數字。