欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

强制类型转换规则

程序员文章站 2022-07-01 13:46:13
强制类型转换: 字符转数值 parseInt();从左向右一次转换,能转则转,不能转停止;如果第一位就不能转,直接NaN;不识别小数点。 parseFloat();等同于parseInt,同时可以识别小数点 Math.round();严格转换,不允许出现任何非数字的字符,否则NaN;取最接近的整数 ......

强制类型转换:
字符转数值
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