這篇文章主要介紹了Lua判斷變量是否為數(shù)字、字符串是否可以轉(zhuǎn)換為數(shù)字等,本文講解了Lua 判斷是字符還是數(shù)字的方法、Lua判斷數(shù)字的方法、判斷可否轉(zhuǎn)換為數(shù)字的方法、判斷并且準(zhǔn)備一個(gè)初值的方法,需要的朋友可以參考下
一、Lua 判斷是字符還是數(shù)字
代碼如下:
-- 如果待判斷的是一個(gè)變量
local t = type(x);
if t == "number" then
-- 是數(shù)字
else if t == "string" then
-- 是字符串
end
-- 如果帶判斷是一個(gè)字符串,要判斷是否可以轉(zhuǎn)成數(shù)字, 則
local n = tonumber(x);
if n then
-- n就是得到數(shù)字
else
-- 轉(zhuǎn)數(shù)字失敗,不是數(shù)字, 這時(shí)n == nil
end
二、Lua判斷數(shù)字
判斷顯式
type可以判斷已經(jīng)轉(zhuǎn)換的類型,但是會(huì)區(qū)分字符串,因?yàn)樗吹氖窃碱愋汀?/p>
代碼如下:
>a="12"
>print(type(a))
string
經(jīng)驗(yàn)
1.判斷可否轉(zhuǎn)換
而直接用轉(zhuǎn)換來(lái)測(cè)試可以判斷是否能夠轉(zhuǎn)成那個(gè)類型,也就是能否是那個(gè)類型的字符串模式。
代碼如下:
> print(tonumber("222"))
222
> print(tonumber("222a"))
nil
>
判斷并且準(zhǔn)備一個(gè)初值
代碼如下:
srcstr=tonumber("2323224a") or 1 --nil會(huì)溢出,但是會(huì)獲得1
print("轉(zhuǎn)賬數(shù)字"..srcstr)
更多信息請(qǐng)查看IT技術(shù)專欄