一、Lua 判斷是字符還是數字
-- 如果待判斷的是一個變量
local t = type(x);
if t == "number" then
-- 是數字
else if t == "string" then
-- 是字符串
end
-- 如果帶判斷是一個字符串,要判斷是否可以轉成數字, 則
local n = tonumber(x);
if n then
-- n就是得到數字
else
-- 轉數字失敗,不是數字, 這時n == nil
end
二、Lua判斷數字
判斷顯式
type可以判斷已經轉換的類型,但是會區分字符串,因為它看的是原始類型。
>a="12"
>print(type(a))
string
經驗
1.判斷可否轉換
而直接用轉換來測試可以判斷是否能夠轉成那個類型,也就是能否是那個類型的字符串模式。
> print(tonumber("222"))
222
> print(tonumber("222a"))
nil
>
判斷并且準備一個初值
srcstr=tonumber("2323224a") or 1 --nil會溢出,但是會獲得1
print("轉賬數字"..srcstr)