如何将其他类型的数据转换为Number.
转换方式一:Number()
- 字符串:
- 如果是纯数字字符串–》数字
- 如果字符串中有非数字的内容,转换为NaN
- 如果字符串为空或者全是空格-》 为0
- 非字母打头为NaN
- boolean
- true:1
- false:0
- Null:数字 0
- undefined: NaN
转换方式二:显示转换
任何值做 -,*,/ 运算都会隐式的转换为Number.
原理同Number()一样
var d = ‘123’
d = d -0; //123
//-0,*1,/1都可
转换方式三:parseInt(),parseFloat()
- 这种方式专门用来对付字符串
- parseInt() 把一个字符串转换为一个整数
- parseFloat() 把一个字符串转换为一个浮点数b
- 数字转到为第一个非数字字母为止
例子
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>强制类型转换</title>
<script type="text/javascript">
var a="123";
//转换方式一:Number()
//调用Number()函数将a转换为Number类型
a = Number(a); //123
a=true;
a = Number(a); // 1
a = null;
a = Number(a); //0
a = undefined;
a = Number(a); //NaN
//转换方式二:显示转换
a ='123';
a =a*1; //123
a ='123w';
a =a-0; //NaN
//调用parseInt()函数将a转换为Number
/*
parseInt()可以将一个字符串中的有效数字的整数内容取出来,
然后转换为Number
*/
a = "123px";
a = parseInt(a)
/*
parseFloat()作用和parseInt()类似,不同的是它可以获得有效的小数
*/
a = "123.567px";
a = parseFloat(a); //123.567
/*
如果对非String使用parseInt或parseFloat()
它会先将其转换为String,然后再操作
*/
a=true
a=parseInt(a) ; //NaN
</script>
</head>
<body>
</body>
</html>