强制类型转换规则
Posted xiet
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了强制类型转换规则相关的知识,希望对你有一定的参考价值。
强制类型转换:
字符转数值
parseInt();从左向右一次转换,能转则转,不能转停止;如果第一位就不能转,直接NaN;不识别小数点。
parseFloat();等同于parseInt,同时可以识别小数点
Math.round();严格转换,不允许出现任何非数字的字符,否则NaN;取最接近的整数
Number();严格转换,不允许出现任何非数字的字符,否则NaN;直接转换
var str = "123";
var str = "123abc";
var str = "123abc456";
var str = "a123";
var str = "adasd";
var str = "123.45";
var n = parseInt(str);
console.log(str);
console.log(typeof str);
console.log(n);
console.log(typeof n);
var str = "a567.892";
var n = parseFloat(str);
console.log(str);
console.log(typeof str);
console.log(n);
console.log(typeof n);
var str = "-456.789";
var n = Math.round(str);
console.log(str);
console.log(typeof str);
console.log(n);
console.log(typeof n);
var str = "-456.789a";
var n = Number(str);
console.log(str);
console.log(typeof str);
console.log(n);
console.log(typeof n);
数值转字符
toString();直接转换,相当于给要转换的数值,加引号
保留n为小数
toFixed();加引号的同时,四舍五入保留n位小数,不够,补零
var n = 10.3543;
var s = n.toString();
console.log(n);
console.log(typeof n);
console.log(s);
console.log(typeof s);
var n = 10;
var s = n.toFixed(2);
console.log(n);
console.log(typeof n);
console.log(s);
console.log(typeof s);
console.log(123.567000000)
数值转字符
var n = 123;
var s = n + "";
console.log(s)
字符转数值
var s = "123";
var n = s - 0;
console.log(n)
==================================
其他转数值
true为1,false为0
console.log(1 + true); //2
console.log(1 + false); //1
console.log(1 + undefined); //NaN
console.log(1 + NaN); //NaN
console.log(1 + null); //1
以上是关于强制类型转换规则的主要内容,如果未能解决你的问题,请参考以下文章