js中的number类型

NaN有两个特点:

1 任何涉及NAN的操作都会返回NaN(这个特点在多步计算中可能有问题)

2NaN与任何值都不相等,包括它本身,例如下面的代码也是返回false

alert(NaN == NaN)

针对NaN的这两个特点,ECMAscript定义了isNaN()这个函数,该函数接收一个参数,该参数可以是任意数据类型,而且该参数可以帮我们确定这个参数是否“不是数值”。isNaN()

接收到一个值之后会将这个值转换成数值。而某些不会转换为数值的值都将返回true

数值转换

js中数值转换的函数有三个:parseInt()、parseFloat()、number()

parseInt ( cString )从字符串cString非空字符开始转换得到的整数,遇到小数点或其他0-9外的字符就停止,如“-1234a”,“-1234.0”都将返回 -1234;如果除第一个符号外一个0-9字符都不是,将返回NaN,如“-a”、“abc”等;

Number( cString )从字符串cString转换得到的数字,包括Int和Float类型,如:“-123”返回-123,“123”和“00123”都返回 123,“234。56”返回234。56等。cString必须是合法的数字串,否则返回NaN;如“.123”、“1.23.45”、 “--123”、“123a"都返回NaN.

总之Number( )更象parseFloat( ),Number对参数更挑剔,稍有不是数字就返回NaN。

parseFloat支持第一个非空字符为小数点,如parseFloat(".123" )返回0.123。

而Number(".123" )返回NaN。

空字符串或完全空格串健壮的parseFloat()返回NaN,而Number()返回0,这有点让人费解。

除了不支持无前导0小数 (如.123、-.123)和支持多余的前导0(如-00123返回-123)多少不符合常规外,Number能用来验证数字串!

时间: 2024-10-08 02:05:58

js中的number类型的相关文章

深入理解JS中的Number类型

深入了解 Number 类型 Number 类型作为 JS 的基本数据类型之一,被应用在程序中的各种场景,其重要性就如数字对于我们日常生活. 下面就让我们来一起深入了解下,为以后的"策马奔腾"做好铺垫. 定义方式 一般来说我们可以直接使用数值字面量格式来定义一个数字,如下: var num1 = 15; var num2 = 7; console.log(typeof num1); // number console.log(typeof num2); // number 数值类型 定

Ext.js 中 25种类型的Ext.panel.Tool

通过Ext.panel.Panel的tools配置项来设置Ext.panel.Tool实例. 要注意的一点是,Ext框架提供的Ext.panel.Tool仅包含按钮图标而具体的点击事件处理函数需要我们自定义. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51

js中对象的类型

js中的类型分为三种,"内部对象"."宿主对象"."自定义对象" 1."内部对象"有Date.Function.Array.Regexp.Number.Object.String.Math.Global.Boolean, 还有各种错误类对象,包括Error.EvalError.RangeError.ReferenceError.SyntaxError和TypeError. "Global"."Ma

js中的变量类型

js 中输出定义变量的类型  typeof  变量名. var u:  --underfined类型 var s = "你是一个好人":   --string类型 var n = 10;   --number类型 var  num = NaN;  --number 类型,not a number. var  n = null:   -- object类型 var d = new Date();   --时间 var a = new Array();   --数组

JS 中对变量类型的判断

总结:1. 一般简单的使用 typeof 或 instanceof 检测(这两种检测的不完全准确)          2. 完全准确的使用 原生js中的 Object.prototype.toString.call  或 jquery中的 $.type 检测 在 JS 中,有 5 种基本数据类型和 1 种复杂数据类型,基本数据类型有:Undefined, Null, Boolean, Number和String:复杂数据类型是Object,Object中还细分了很多具体的类型,比如:Array,

JS 中对变量类型的五种判断方法

5种基本数据类型:undefined.null.boolean.unmber.string 复杂数据类型:object. object:array.function.date等 方法一:使用typeof检测 当需要变量是否是number,string,boolean ,function,undefined,json类型时,可以使用typeof进行判断:其他变量是判断不出类型的,包括null. typeof是区分不出array和json类型的,因为使用typeof这个变量时,array和json类

python中的number类型

python中的number具体分为: int(有符号整型) long(长整型[也可以代表八进制和十六进制]) float(浮点型) complex(复数) 变量命名: a=1 整数型 b=1.0 浮点型 c=1000025555441122 长整型 d=4.23+8.5j 复数类型 看上去很简单. 我们做一些除法运算的时候,python中10/3=3.3333333333333335 .这和JAVA和c#中的一些除法不相同,在这些语言中10/3=3.这是为什么呢?因为python中比较接近自然

oracle中的number类型

number 数据类型 number (precision,scale) a)    precision表示数字中的有效位,如果没有指定precision的话,oracle将使用38作为精度: b)    如果scale大于零,表示数字精度到小数点右边的位数:scale默认设置为0:如果scale小于零,oracle将把该数字取舍到小数点左边的指定位数. c)    Precision 的取值范围是[1-38];scale的取值范围是[-84-127]. d)    Number整数部分允许的长

JS中基本包装类型说明需求文档

为了便于操作基本类型值,ES还提供了三种特殊的引用类型,即(基本包装类型):Number,String,Boolean.这三种类型与前面介绍的引用类型相似,但同时也拥有基本数据类型的一些特性. 平时经常看到人家代码里创建了一个字符串/数字类型,然后使用字符串/数字类型的一些方法,比如,split().substring()等等,搞得我们误以为基本包装类型拥有的方法.其实,我们这种理解是错误的.实际上,当我们操作基本包装类型数据时,在后台就会悄悄的创建一个对应的基本包装类型的对象.因为是对象呀,所