美文网首页【JavaScript】
【JavaScript中的类型转换】

【JavaScript中的类型转换】

作者: 魔_术师 | 来源:发表于2017-06-26 00:29 被阅读0次
JavaScript中的类型转换

字符串转换为数字的方法

字符串转换为数字的方法可以分为两种,一个是显式转换,一种是隐式转换。

显式转换是通过函数的形式,将字符串转换成数组的形式;

隐式转换则是通过运算符的方式将字符串转换成数字的形式。

显式转换

在显式转换中,有三个函数可以把字符串转换为数值:Number()、parseInt()、parseFloat()。

Number()可以用于任何数据类型,而另外两个函数则专门用于把字符串转换成数值。

Number()转换规则如下:

如果字符串为数值字符串,则将其转换为十进制数值。

如果字符串中包含有效的十六进制格式,例如"0xf",则将其转换为相同大小的十进制整数值。

如果字符串为空字符串或空格字符串,则将其转换为0。

如果字符串中含有除上述格式以外的字符,则将其转换成NaN。

例如:

console.log(Number(" ")); // 0

console.log(Number("123")); // 123

console.log(Number("HTML5学堂")); // NaN

console.log(Number("0xf")); // 15

parseInt()函数在转换字符串时,更多的是看其是否符合数值模式。它会忽略字符串前面的空格,直至找到第一个非空格字符。如果第一个字符不是数字字符或者负号,parseInt()就会返回NaN,如果是空字符串,则会返回NaN。如果第一个字符是数字字符,parseInt()会继续解析第二个字符,直到解析完所有后续字符或者遇到非数字字符。例如"1234h5course"会被转换成1234,"h5course"会被完全忽略。类似的,"123.4"会被转换成123,因为小数点并不是有效的数字字符。如果字符串中包含有效的十六进制格式,例如"0xf",则将其转换为相同大小的十进制整数值。例如:

console.log(parseInt("")); // NaN

console.log(parseInt("123h5course")); // 123

console.log(parseInt("    123")); // 123

console.log(parseInt("123")); // 123

console.log(parseInt("123.7")); // 123

console.log(parseInt("0xf")); // 15

parseFloat()与parseInt()函数相似,只不过parseInt()返回的是整数,而parseFloat()可以返回小数。parseFloat()转换的时候,也是从第一个字符开始解析每个字符,直到解析到字符串末尾,或者解析到遇见一个无效的浮点数字字符为止,也就是说,字符串中的第一个小数点是有效的,而第二个小数点就是无效的。例如"12.34.56"将会被转换为12.34。如果字符串包含的是一个可解析为整数的数,parseFloat()回返回整数。例如:

console.log(parseFloat("")); // NaN

console.log(parseInt("123.4h5course")); // 123.4

console.log(parseInt("    123")); // 123

console.log(parseInt("123.45")); // 123.45

console.log(parseInt("123.7")); // 123.7

console.log(parseInt("123.75.67")); // 123.75

console.log(parseInt("0xf")); // 15

隐式转换

隐式转换的方式可以通过+、* 1、/ 1的运算来转换成数字。例如:

var a = "123";

var b = "456";

var c = "789";

a = +a;

b = b * 1;

c = c / 1;

console.log(a); // 123

console.log(b); // 456

console.log(c); // 789

其他类型变量转换为字符串的方法

十进制转换成二进制

例:var a = 302;

console.log(a.toString(2));

toString( )<括号里面的数字是几就转换成几进制>

我们想把其他类型变量转换成字符串,这个时候,我们通常使用toString()方法。几乎每一个值都有toString()方法。例如:

var a = 123;

var bool = true;

console.log(a.toString()); // "123"

console.log(bool.toString()); // "true"

数值、布尔值、对象和字符串都有toString()方法,但null和undefined没有这个方法。我们还可以使用转型函数String(),这个函数能够将任何类型的值转换成字符串。例如:

var obj = null;

console.log(String(obj)); // "null"

var unde = undefined;

console.log(String(unde)); // "undefined"

var a = 123;

console.log(String(a)); // "123"

var bool = true;

console.log(String(bool)); // "true"

相关文章

  • JS中的类型转换

    JavaScript 中的类型转换 JavaScript 基本数据类型 JavaScript 中的一共有 8 中内...

  • 类型转换

    在JavaScript中,共有两种类型转换:隐式类型转换,显示类型转换。 “字符串”转换为“数字” 在JavaSc...

  • 前端常见面试题(十三)@郝晨光

    列举三种强制类型转换和两种隐式类型转换 JavaScript是一门弱类型语言,在JavaScript中声明变量不需...

  • JavaScript中的类型转换

    ECMAScript6 中新加入了一种类型(Symbol),暂且搁置,之后再说,今天主要说一说ES5 中的几种数据...

  • 【JavaScript中的类型转换】

    字符串转换为数字的方法 字符串转换为数字的方法可以分为两种,一个是显式转换,一种是隐式转换。 显式转换是通过函数的...

  • JavaScript中==的类型转换

    写在前面 如果本文对您有所帮助,就请点个关注吧! 1. 首先,要记住null == undefined始终为tru...

  • 必考知识点-JavaScript类型转换(讲原理)

    一、类型转换先说类型 类型转换指将一种类型转换为另一种类型,那我们首先来说说JavaScript中的类型。 1.1...

  • ToBoolean 转换布尔值

    JavaScript中,抽象值操作ToBoolean用于将数据类型强制转换为布尔类型 以下数据值在强制类型转换为b...

  • JavaScript的强制类型转换

    强制类型转换 将javascript的值从一种类型转换为另一种类型的值——>类型转换隐式类型转换——>强制类型转换...

  • javascript强制类型转换

    javascript强制类型转换 一、转换为数值类型 Number(参数) 把任何类型转换为数值类型A.如果是布尔...

网友评论

    本文标题:【JavaScript中的类型转换】

    本文链接:https://www.haomeiwen.com/subject/qzhdcxtx.html