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")) 2 print('2 : ', tonumber("AF", 16)) 3 print('3 : ', tonumber("0xA")) 4 print('4 : ', tonumber("23.45")) 5 print('5 : ', tonumber("0102")) 6 print('6 : ', tonumber("1234abcd")) 7 print('7 : ', tonumber("white")) 8 print('8 : ', tonumber("false")) 9 print('9 : ', tonumber("0000")) 10 print('10 : ', tonumber({x = 10, y = 20})) 11 print('11 : ', tonumber("100", 2)) 12 print('12 : ', tonumber("4", 2)) 13 print('13 : ', tonumber("100", 3)) 14 print('14 : ', tonumber("100", 10)) 15 print('15 : ', tonumber("100", 20)) 16 print('16 : ', tonumber("16", 20)) 17 print('17 : ', tonumber("17", 25)) 18 print('18 : ', tonumber("18", 30)) 19 print('19 : ', tonumber("AA", 30)) 20 print('20 : ', tonumber("aa", 30)) 21 print('21 : ', tonumber("B2", 35)) 22 print('22 : ', tonumber("C2", 36)) 23 -- print('23 : ', tonumber("D2", 37)) --bad argument #2 to 'tonumber' (base out of range) 24 25 -- 运行结果: 26 --[[ 27 1 : 10 28 2 : 175 29 3 : 10 30 4 : 23.45 31 5 : 102 32 6 : nil 33 7 : nil 34 8 : nil 35 9 : 0 36 10 : nil 37 11 : 4 38 12 : nil 39 13 : 9 40 14 : 100 41 15 : 400 42 16 : 26 43 17 : 32 44 18 : 38 45 19 : 310 46 20 : 310 47 21 : 387 48 22 : 434 49 --]]
【3】总结
tonumber函数会尝试将它的参数转换为数字。
如果参数已经是一个数字或者是一个可以转换成数字的字符串,那么这个函数就会返回转换后的数值,否则,返回nil(表示转换失败)。
这个函数有一个额外的参数base可用来指定参数的进制:
(1)默认参数值是10
(2)参数的取值范围是[2, 36]
(3)当参数值超过10时,使用A代表10(大小写都可以),B代表11,以此类推最后Z代表35
Good Good Study, Day Day Up.
顺序 选择 循环 总结
转载于:https://www.cnblogs.com/Braveliu/p/10686625.html
lua tonumber相关推荐
- Redis实现分布式限流(学习笔记
Redis实现分布式限流(学习笔记2022.07.09) 前言: 以下实现都是基于: spring-boot-starter-web + spring-boot-starter-data-redis ...
- lua之诡异的tonumber
昨晚翻看lua源码的时候,发现在luaO_str2num有特殊处理,确切来说是在l_str2int(字符串转换成整形),lstr2d(字符串转换成double类型) size_t luaO_str2n ...
- Lua中的基本函数库
基本函数库为Lua内置的函数库,不需要额外装载 assert (v [, message]) 功能:相当于C的断言, 参数: v:当表达式v为nil或false将触发错误, message:发生错误时 ...
- Java并发:分布式应用限流 Redis + Lua 实践
任何限流都不是漫无目的的,也不是一个开关就可以解决的问题,常用的限流算法有:令牌桶,漏桶.在之前的文章中,也讲到过,但是那是基于单机场景来写. 之前文章:接口限流算法:漏桶算法&令牌桶算法 然 ...
- 一些LUA函数(转载)
转自http://hi.baidu.com/chevallet/item/9a3a6410c20d929198ce3363 一些LUA函数 1.assert (v [, message]) 功能:相当 ...
- lua搭建ui_构建类魔兽UI插件的lua安全沙箱
魔兽的UI插件结构 1.使用lua+XML作为配置 分析:XML虽然人机交互很好,但其实没有几个UI是真正用纯XML写的,大多还是用编辑器比较方便.速度很慢,但尚不清楚魔兽代码里是否进行优化 2. I ...
- nginx lua redis 访问频率限制(转)
1. 需求分析 Nginx来处理访问控制的方法有多种,实现的效果也有多种,访问IP段,访问内容限制,访问频率限制等. 用Nginx+Lua+Redis来做访问限制主要是考虑到高并发环境下快速访问控制的 ...
- cocos2dx - Lua 语言
快捷注释: - -[[ print(10) - ->10 - - 不起作用(因为这是注释) - -]] 当重新启用这段代码时,只需在一次行行首添加一个连接字符即可: - - -[[ print ...
- Nginx(OpenResty)+Lua+Redis IP限流 10s内
使用 OpenResty 可以不用再次编译nginx 就能集成对应lua环境 可以扩展的模块比较丰富 1.使用redis 控制限流 ip 访问频度 创建对应lua脚本 access_by_limit_ ...
- Lua中使用Sleep函数
Lua中没有内置的Sleep函数,有4种方法可以实现Sleep函数功能,如下: 方法1 在一个死循环中设置一个跳出条件,但是这样的做法会占用大量CPU资源,强烈不推荐使用. function Slee ...
最新文章
- jni releative
- 斐波那契数列 || 猴子吃桃问题 用递归实现
- 常见索引结构—FST
- leetcode144. 二叉树的前序遍历(迭代)
- 肖仰华 | 基于知识图谱的可解释人工智能:机遇与挑战
- PTA19、通过两个列表构建字典 (10 分)
- www.cnblog.org无法访问了
- DHCP之二 DHCP的中继代理
- 创建ubuntu根文件系统
- 解决linux下cocos2dx不能播放声音
- NODA-GA-NHS ester CAS:1407166-70-4 大环配体配合物
- c语言括号表示法画树怎么画,各种树的画法,这篇文章写得太详细了,值得收藏!...
- Python爬虫实战(一) QQ音乐评论爬取及可视化分析
- NKOI 2008 涂色
- 15.内置函数,匿名函数
- 基于opencv实现透视变换(Python)
- matlab中求立方根,matlab实现求复数立方根的函数代码怎么写
- vscode代码拼写检查插件的使用(超详细)
- LC滤波器设计学习笔记(一)滤波电路入门
- vscode中git push代码时报错PresentationCore, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364
热门文章
- Magicodes.IE 2.7.0发布
- 教你制作Linux系统的安装盘
- webgl框架介绍以及webgl项目的技术选型问题
- python爬虫设计图片_手把手教你用Python网络爬虫获取壁纸图片
- android系统中wifi省电模式下的四个基本概念:TIM、DTIM、Beacon-Interval、Listen-Interval
- 基于javaweb+jsp的学生档案管理系统(JavaWeb JSP MySQL Servlet SSM SpringBoot Bootstrap)
- 2018.12.26 Jquery 使用 slideBox 实现滚动 效果
- 网络钓鱼(Phishing)攻击方式
- 知识图谱应用在金融行业的地方
- Django 一文看懂urls.py与views.py的联系