位置:首页 > 软件操作教程 > 编程开发 > JavaScript > 问题详情

JavaScript 转换为数字

提问人:刘团圆发布时间:2020-11-23

■知识点

常用值转换为数字说明如下。

1                   => 1

0                   => 0

true                => 1

false               => 0

""                  => 0

Undefined           => NaN

null                => 0

NaN                 => NaN

Infinity            => Infinity

把值转换为数字的常用方法有以下3种。

    parselnt():可以把值转换为整数。

    parseFloatO:可以把值转换为浮点数。

    使用乘号运算符。

■实例设计

parselnt()方法可以把前面分析合法的数字字符全部转换为数值并返回。

console.log (parselnt ("123abc")); //返回数字 123

console.log(parselnt ("1.73"));         //返回攀字 1

console, log (parselnt (".123")); //返回值NaN

    如果是以0为开头的数字宇符串,则parselntO把它作为八进制数字处理:先把它转换为八进制的数值,然后再转换为十进制数字返回。

    如果以Ox为开头的数字字符串,则parselntO把它作为十六进制数字处理:先把它转换为十六进制数值,然后再转换为十进制数字返回。

var d = 010;                 //八进制数字字符串

var e = "0x10";                 //十六进制数字字符串

console. log (parselnt (d)); //返回十进制数字8

console. log (parselnt (e) ); //返回十进制数字16

    parselntO也支持基模式,可以把二进制、八进制、十六进制等不同进制的数字字符串转换为整数。 基模式由parselnt()函数的第二个参数指定。

    下面的代码把十六进制数字字符串"123abc"转换为十进制整数。

    var a = "123abc";

    console.log (parselnt(a, 16)); //返回值十进制整数 1194684

    下面的代码把二进制、八进制和十进制数字字符串转换为十进制的整数。

console.log(parselnt ("10",2));         //把二进制数字10转换为十难制整数为2

console.log(parseInt ("lO",8));         //把八进制数字10转换为十邊制整数为8

console.log(parselnt ("10",10)); //把十进制数宇10转铁为十进制整数为10

如果第1个参数是十进制的值,包含0前缀,为了避免被误解为八进制数字,则应该指定第2个参数值为10,即显式定义基模式,而不是采用默认基模式。

console.log (parselnt ("010") ) ; //把默认基模式数字010转换为十进制整数为10

console.log (parselnt ("010", 8) ) ; //把八进制数字010转换为十进制整数为8

console.log (parselnt ("010", 10) ); //把十进制数字010转换为十进制整数为10

parseFloatO的参数必须是十进制形式的字符串,而不能够使用八进制或十六进制的数字字符串。同时对于数字前面的0 (八进制数字标识)会忽略,对于十六进制形式的数字将返回0。

console.log(parseFloat("123"));         //返回数值123 

console.log(parseFloat("123abc"));      //返回数值123 

console.log(parseFloat("010"));         //返回数值10 

console.log(parseFloat("0xl0n));        //返回数值0 

console.log(parseFloat("xl0n));         //返回数值NaN

如果变量乘以1,则变量会被JavaScript自动转换为数值,乘以1之后,结果没有发生变化,但是值的类型被转换为数值。如果值无法被转换为合法的数值,则返回NaN。

var b = 1;                    //数值 

var b = "1";                  //数字字符串 

console.log(a + (b * 1));     //返回数值2

继续查找其他问题的答案?

相关视频回答
回复(0)
返回顶部