Lua判断变量是否为数字、字符串是否可以转换为数字等

   这篇文章主要介绍了Lua判断变量是否为数字、字符串是否可以转换为数字等,本文讲解了Lua 判断是字符还是数字的方法、Lua判断数字的方法、判断可否转换为数字的方法、判断并且准备一个初值的方法,需要的朋友可以参考下

  一、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)

时间: 2016-04-22

Lua判断变量是否为数字、字符串是否可以转换为数字等的相关文章

PHP判断变量是否已存在

PHP函数:empty() 和 isset() 都是判断变量是否已配置的函数,不过使用的时候还是存在一定的区别. empty() 函数用来测试变量是否已经配置.若变量已存在.非空字符串或者非零,则返回 false 值:反之返回 true. isset() 函数用来测试变量是否已经配置.若变量已存在则返回 true 值.其它情形返回 false 值. 从上面两个函数的定义可以看出 empty() 和 isset() 的共同点是:都可以判定一个变量是否为空,都返回boolean类型,即true或fa

判断一个字符串是否全是数字的多种方法及其性能比较(C#实现)

比较|性能|字符串 在编程的时候,经常遇到要判断一个字符串中的字符是否全部是数字(0-9),本来是一个很容易实现的功能,但程序员首先会想到的是,这样简单的功能有没有现成的函数可以用呢?VB.NET中有个IsNumeric(object),C#中只有判断单个字符的Char.IsNumber(),IsNumeric可以判断double类型的数字字符串,但无法排除正负号和小数点,如果判断字符串是否是一个数的话用它挺合适,但不能用来判断字符串是否全部由数字组成的.没现成的方法了,只好自己写函数: pub

javascript使用isNaN()函数判断变量是否为数字_javascript技巧

javascript中判断变量是否为数字的方法,这里主要介绍javascript里的 isNaN() 函数. 功能: isNaN() 函数用于检查其参数是否是非数字值. 语法: isNaN(x) x 必需.要检测的值. 返回值: 如果 x 是特殊的非数字值 NaN(或者能被转换为这样的值),返回的值就是 true.如果 x 是其他值,则返回 false. 说明: isNaN() 函数可用于判断其参数是否是 NaN,该值表示一个非法的数字(比如被 0 除后得到的结果). 如果把 NaN 与任何值(

JavaScript知识点总结(六)之JavaScript判断变量数据类型_javascript技巧

最近做了一个项目,其中有关于js判断数据类型的处理,在网上搜了相关资料,并且亲自测试了各种数据类型的判断,绝对安全.下面小编把具体内容总结分享给大家,大家参考下! 一.JS中的数据类型 1.数值型(Number):包括整数.浮点数. 2.布尔型(Boolean) 3.字符串型(String) 4.对象(Object) 5.数组(Array) 6.空值(Null) 7.未定义(Undefined) 二.判断一个变量的数据类型 1.数值型(number) 比较常用的判断方法是: function i

Lua判断Table是否为空的方法

这篇文章主要介绍了Lua判断Table是否为空的方法(空的table即{}),如何判断lua中的table是否是空的table呢,本文就试验了多个方法,最后得出比较好的判断方法,需要的朋友可以参考下 判断方法结论: 代码如下: a={} if next(a) ~=nil then dosomething end 最近在项目里面大量使用的lua,其中lua的table是lua中重要的数据结构,可以被用来当做C++中的数组,vector,map来使用. 如何判断lua中的table是否是空的tabl

Lua判断数据类型的方法

  这篇文章主要介绍了Lua判断数据类型的方法,本文讲解了判断数据类型的方法和Lua脚本语言的8种基本数据类型,需要的朋友可以参考下 一.判断数据类型的方法 type(xxxx) 这个函数的返回值是string类型 也就是说: 代码如下: a = type(X) -- a="nil" b = type(a) -- b="string" a = type(nil) -- a="nil" 二.Lua脚本语言的8种基本数据类型 1.数值(number)

c语言-如何将数字字符串转为16进制字符串?

问题描述 如何将数字字符串转为16进制字符串? 请教一个示例:如何将数字字符串转为16进制字符串?字符串:char str[20]="1234567890123456";将中间的"789012"转换为16进制的"0C0A14":最后str=""1234560C0A143456"" 如果有描述不清的地方,请指出.多谢! 解决方案 你先用字符串截取到 比如strstr等,""789012&q

请问如何替换字符串中大写中文数字为阿拉伯数字?

问题描述 我有几个字符串,如 我有十块钱,你有二十三块钱,他有二元钱.我想转换成 "我有10块钱,你有23块钱,他有2元钱.",请问如何转换,也就是如何把字符串中大写中文数字转换成阿拉伯数字.大写中文数字可限制在一到九百九十九之间.谢谢! 解决方案 package test;import java.text.MessageFormat;import java.util.ArrayList;import java.util.HashMap;import java.util.LinkedH

printf-编写一函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其它字符的个数

问题描述 编写一函数,由实参传来一个字符串,统计此字符串中字母.数字.空格和其它字符的个数 编写一函数,由实参传来一个字符串,统计此字符串中字母.数字.空格和其它字符的个 数,在主函数中输入字符串以及输出上述的结果.请填空完成上述功能的程序. #include #include void fltj(char str[],int a[]) { int ll,i; ll= (1) for (i=0;i<ll;i++) { if ( (2) ) a[0]++; else if ( (3) ) a[1]