走火入魔javascript – 非值类型转化为整形方法

数值转化的3个函数

(1) Number()

(2) parseInt()

(3) parseFloat()

(1)可以用于任何类型转化为 数值型.

(2),(3)专门用于字符串转化为 数值型.

Number() 函数转化规则:

Boolean 类型: true 转化为1, false 转化为0.

数值型: 只是简单的传入和返回.

Null类型: 转化为0.

undefined: 转化为NaN.

字符串:遵循如下规则

(1)如果字符串只包含数字,直接转化为对应的数值.

(2)如果字符串包含有效的浮点格式 如 “3.3″ 则直接转化为对应的浮点格式.

(3)如果字符串中包含16进制格式字符串,如 “0xf” 则直接转化为对应的16进制格式.

(4)如果空字符串直接转化为0.

(5)如果字符串中的值不属于上面的任何一个格式,将直接转化为 NaN.

对象: 首先调用对象的tostring()方法或者 valueof() 转化成对应的字符串格式后,再按照上面的

字符串转化规则进行转化.

例如:Number(“00098″) 转化为 98

Number(“7.89″) 转化为 7.89

Number(“Hello”) 转化为 NaN

Number(true) 转化为 1

对于Number()处理字符串的复杂流程而且不够合理,常用于专门将字符串转化为数值类型的方法是

parseInt()

parseInt() 转化字符串时,首先从第一位开始找起,并且完全忽略第一位有效字符前的所有空格,直到

找到第一个数值或者负号时,开始向后解析转化直到碰到第一个非数值停止.

比如:parseInt(‘ 56fasda’) 转化结果是:56 [忽略了5前面的所有空格,从5开始解析到6以后碰到

字符就解析结束.

如果从第一位非空且不说数值类型数值是,直接返回NaN

比如:parseInt(‘ zhang’) 转化结果是NaN

parseInt(‘ ‘) 结果:NaN Number(‘ ‘)结果是:0 对于空字符串,Number()和parseInt()解析

转化结果完全不同.

parseInt() 对于.(小数点是忽略转化的)

比如字符串 “55.6″

parseInt(“55.6″) 转化为 55

Number(“55.6″) 转化为 55.6

parseInt()还有个还有另外一个重载版本 parseInt(‘要转换的字符串’,转化的数字进制格式)

进制格式包括 2,8,10,16 进制.

如:parseInt(’56757sdfe”,10) 将字符串’56757sdfe’ 转化为 10 进制格式.


回到顶部