lua tonumber
【1】应用tonumber函数
local function test(telnum)
, ))
== ) -- 5000~5999公司预留号码
, ) == ' or isLen or isReserve then -- 业务分机号规定位数范围[1, 6]
'
else
return ''
end
end
'))
'))
'))
'))
print('5 : ' .. test(''))
'))
'))
-- 运行结果
:
:
:
:
:
:
:
【2】学习tonumber函数
示例代码:
"))
))
print('3 : ', tonumber("0xA"))
print('4 : ', tonumber("23.45"))
"))
print('6 : ', tonumber("1234abcd"))
print('7 : ', tonumber("white"))
print('8 : ', tonumber("false"))
"))
, y = }))
))
))
))
))
))
))
))
))
))
))
))
))
-- print('23 : ', tonumber("D2", 37)) --bad argument #2 to 'tonumber' (base out of range)
-- 运行结果:
--[[
1 : 10
2 : 175
3 : 10
4 : 23.45
5 : 102
6 : nil
7 : nil
8 : nil
9 : 0
10 : nil
11 : 4
12 : nil
13 : 9
14 : 100
15 : 400
16 : 26
17 : 32
18 : 38
19 : 310
20 : 310
21 : 387
22 : 434
--]]
【3】总结
tonumber函数会尝试将它的参数转换为数字。
如果参数已经是一个数字或者是一个可以转换成数字的字符串,那么这个函数就会返回转换后的数值,否则,返回nil(表示转换失败)。
这个函数有一个额外的参数base可用来指定参数的进制:
(1)默认参数值是10
(2)参数的取值范围是[2, 36]
(3)当参数值超过10时,使用A代表10(大小写都可以),B代表11,以此类推最后Z代表35
Good Good Study, Day Day Up.
顺序 选择 循环 总结
lua tonumber的更多相关文章
- lua二进制操作函数
由于 Lua 脚本语言本身不支持对数字的二进制操作(例如 与,或,非 等操作),MUSHclient 为此提供了一套专门用于二进制操作的函数,它们都定义在一个“bit”表中,使用时只要requre “ ...
- lua 二进制函数使用
由于 Lua 脚本语言本身不支持对数字的二进制操作(例如 与,或,非 等操作),MUSHclient 为此提供了一套专门用于二进制操作的函数,它们都定义在一个"bit"表中,使用时 ...
- 在redis中使用lua脚本让你的灵活性提高5个逼格
在redis的官网上洋洋洒洒的大概提供了200多个命令,貌似看起来很多,但是这些都是别人预先给你定义好的,但你却不能按照自己的意图进行定制, 所以是不是感觉自己还是有一种被束缚的感觉,有这个感觉就对了 ...
- redis lua
需求是在缓存最近一周内用户所有消息列表,考虑用Redis 存储:为每个存储一个独立Sorted Set,value 为消息体,Score 为MessageId,用以实现增量消息同步. 问题就来了:So ...
- lua 字符串 正则表达式 转义 特殊字符
string.gsub 函数有三个参数:目标串,模式串,替换串.基本作用是用来查找匹配模式的串,并将使用替换串其替换掉: s = string.gsub("Lua is good" ...
- lua解释执行脚本流程
#include "lua.hpp" #include <iostream> using namespace std; #pragma comment(lib, &qu ...
- Lua 读表代码,自动生成字段名字
表格格式为 INT STRING INT INT INT INT INT Id Desc Type SceneId OpenId MaxPliesp ClearancePlies 第1关 - 第2关 ...
- redisTemplate的spring配置以及lua脚本驱动
最近在使用spring-data-redis的redisTemplate,所以写篇使用记录吧. 1.不用多说,使用maven引入相关依赖,因为项目已经引入其他的 <dependency> ...
- lua 基础 2 类型和值
-- 类型 和 值--[[ 8中类型 滚动类nil.boolean. number.string.userdata.function.thread 和 table.]] print (type(&qu ...
随机推荐
- vue 安装及使用
一, vue.js 2.0 1, cnpm install vue-cli -g 全局安装 2, 运行vue查看安装是否成功(创建vue-cli目录: vue init webpack demo) ...
- python全栈开发 * css 选择器 浮动 * 180808
css 选择器 一.基本选择器 1.标签选择器 标签选择器可以选中所有的标签元素,比如div,ul,li ,p等等,不管标签藏的多深,都能选中,选中的是所有的,而不是某一个,所以说 "共性& ...
- 在C++中,子类重载一个操作符时,如何调用父类被重载的操作符函数
使用static_cast运算符将子类转换为父类即可 #include <iostream> using namespace std; class Base { public: Base( ...
- about this blog
这个博客大概是被我用来整理模板的吧╮(╯▽╰)╭ 因为本小盆友巨懒,99.9%是不会写什么题解或者学习笔记什么的
- F#周报2019年第16期
新闻 Ionide试验版本 FSharp路线图介绍 Blazor官方预览 .NET Framework 4.8发布 .NET Core 3 Preview 4发布 需要来自FSharp.Data.Sq ...
- tcpdump我的交叉编译(mips)
一.libpcap交叉编译 1.下载libpcap-1.8.1(http://www.tcpdump.org/) 2.解压 3.修改configure文件 a.注释掉 #if test -z &quo ...
- cve-2018-4878漏洞复现
CVE-2018-4878Flash 0day漏洞1.漏洞概述2018年2月1号,Adobe官方发布安全通报(APSA18-01),声明Adobe Flash 28.0.0.137及其之前的版本,存在 ...
- new和malloc区别,delete和delete []区别
面试被问到上述问题,所以特地总结一下: 一.new和malloc的区别. 1.new可以返回指定类型的指针,并且自动分配内存大小:malloc需要计算手动计算分配空间的大小,并且返回值需要强转为实际类 ...
- 全排列 permutation
给定一个数字列表,返回其所有可能的排列 lintcode package www.dxb.com; import java.util.List;import java.util.ArrayList; ...
- Timestamp “时间戳” - 术语
A timestamp is a sequence of characters or encoded information identifying when a certain event occu ...