lua tonumber

【1】应用tonumber函数

 1 local function test(telnum)
 2     local isLen = string.len(telnum) > 0 and string.len(telnum) < 7 and string.len(telnum) ~= 4 
 3     local value = tonumber(string.sub(telnum, 1, 4))
 4     local isReserve = (4 == string.len(telnum)) and value and (value < 5000 or value > 5999) -- 5000~5999公司预留号码
 5     if string.sub(telnum, 1, 3) == '800' or isLen or isReserve then -- 业务分机号规定位数范围[1, 6]
 6         return '800'
 7     else
 8         return ''
 9     end
10 end
11 
12 print('1 : ' .. test('4500'))
13 print('2 : ' .. test('456789'))
14 print('3 : ' .. test('5001'))
15 print('4 : ' .. test('123'))
16 print('5 : ' .. test(''))
17 print('6 : ' .. test('1234567'))
18 print('7 : ' .. test('8001234567'))
19 
20 -- 运行结果
21 1 : 800
22 2 : 800
23 3 : 
24 4 : 800
25 5 : 
26 6 : 
27 7 : 800

【2】tonumber函数

示例代码:

 1 print('1 : ' .. (tonumber("10") or 'nil'))        -- 返回十进制数10
 2 print('2 : ' .. (tonumber("AF", 16) or 'nil'))    -- 返回十六进制数175
 3 print('3 : ' .. (tonumber("0xA") or 'nil'))       -- 返回十进制数10
 4 print('4 : ' .. (tonumber("23.45") or 'nil'))     -- 返回23.45
 5 print('5 : ' .. (tonumber("0102") or 'nil'))      -- 返回102
 6 print('6 : ' .. (tonumber("1234abcd") or 'nil'))  -- 返回nil
 7 print('7 : ' .. (tonumber("white") or 'nil'))     -- 返回nil
 8 print('8 : ' .. (tonumber("false") or 'nil'))     -- 返回nil
 9 print('9 : ' .. (tonumber("0000") or 'nil'))      -- 返回0
10 print('10 : ' .. (tonumber({x = 10, y = 20}) or 'nil'))  -- 返回nil
11 
12 -- 运行结果
13 1 : 10
14 2 : 175
15 3 : 10
16 4 : 23.45
17 5 : 102
18 6 : nil
19 7 : nil
20 8 : nil
21 9 : 0
22 10 : nil

【3】总结

tonumber函数,如果参数可以转换为数值,那么,返回值是转换后的数值;否则,返回值为nil

Good Good Study, Day Day Up.

顺序 选择 循环 总结

猜你喜欢

转载自www.cnblogs.com/Braveliu/p/10686625.html
LUA
今日推荐