数值方法
转换为 number 的 4 种方法: Number()、parseInt()、parseFloat()、+字符串数字
转换数字 4 种方法
Number()
Number()是转型函数,可用于任何数据类型,有一下几种情况
js
1.布尔值,true 转换为 1,false 转换为 0
Number(true) // 1
Number(false) // 0
2.数值,直接返回
Number(1) // 1
3.null,返回 0
Number(null) // 0
4.undefined,返回 NaN
Number(undefined) // NaN
5.函数,结果都是NaN
Number(function a(){}) // NaN
6.symbol类型,不能将symbol类型转数字,否则报错
7.字符串
- 数值字符
Number("123") // 123
Number("011") // 11 // 会忽略前面的零
- 浮点值格式 转换为相应的浮点值(同样,忽略前面的零)
Number('12.3') // 12.3
- 十六进制格式 转换十进制整数值
- 空字符串 返回0
Number('') // 0
- 其他字符 返回 NaN
Number(12K) // NaN
8.对象
会先调用valueOf()方法 ,如果如果转换结果是 NaN,则调用toString()方法,再按照转换字符串的规则转换
parseInt()
parseInt()方法主要用于将字符串转换为数值
js
如何转换?
1.先判断第一个字符是不是数值字符、加号或减号
不是,返回NaN
2.然后继续依次检测每个字符,直到字符串末尾,或碰到非数值字符
parseInt("1234blue")会被转换为 1234
3.接收第二个参数,用于指定底数(进制数)
parseFloat()
parseFloat()方法主要用于将字符串转换为数值
js
如何转换?
工作方式跟 parseInt()函数类似
但需要注意的是
- 第一次出现的小数点是有效的,但第二次出现的小数点就无效
例如: parseFloat("22.34.5")将转换成 22.34
特别注意
1.parseFloat()只解析十进制值,因此不能指定底数
2.十六进制数值始终会返回 0。
3.字符串表示整数(没有小数点或者小数点后面只有一个零),则 parseFloat()返回整数
parseFloat('1.0') //1
+字符串数字
js
+"5"; // 5
小知识
js
1.保留小数点后N位
数字.toFixed(N)
2.要确定一个值是不是有限大
isFinite()函数
3.判断NaN number.isNaN()
Number.isInteger()
Number.isInteger() 用来判断一个数值是否为整数。返回 true false
js
//JavaScript 内部,整数和浮点数采用的是同样的储存方法,所以 11 和 11.0 被视为同一个值。
Number.isInteger(11); //true
Number.isInteger(11.0); //true
Number.isInteger(11.11); //false
//如果参数不是数值,Number.isInteger返回false。
Number.isInteger(); // false
Number.isInteger(null); // false
Number.isInteger("15"); // false
Number.isInteger(true); // false
Math.ceil() Math.floor() Math.round()
Math.ceil() 返回大于或等于一个给定数字的最小整数(向上取整)
js
Math.ceil(11.11); //12 上舍入
Math.floor() 返回小于或等于一个给定数字的最大整数(向下取整)
js
Math.floor(11.999); //11 下舍入
Math.round() 返回一个数字四舍五入后最接近的整数
js
Math.round(11.6); //12 四舍五入
Math.trunc()
Math.trunc() 用于去除一个数的小数部分,返回整数部分。
js
Math.trunc(4.1); //4
Math.trunc(-4.9); //-4
//对于非数值,Math.trunc内部使用Number方法将其先转为数值。
Math.trunc("123.456"); // 123
Math.trunc(true); //1
Math.trunc(false); // 0
Math.trunc(null); // 0
//对于空值和无法截取整数的值,返回NaN。
Math.trunc(NaN); // NaN
Math.trunc("foo"); // NaN
Math.trunc(); // NaN
Math.trunc(undefined); // NaN
Math.sign()
Math.sign() 方法用来判断一个数到底是正数、负数、还是零。对于非数值,会先将其转换为数值。
js
//五种值
//正数,返回+1
//负数,返回-1
//0 返回0
//-0 返回-0
//其它值 返回NaN
Math.sign(6); //1
Math.sign(-6); //-1
Math.sign(0); //0
Math.sign("abc"); //NaN
//如果参数是非数值,会自动转为数值。对于那些无法转为数值的值,会返回NaN。
Math.sign(""); // 0
Math.sign(true); // +1
Math.sign(false); // 0
Math.sign(null); // 0
Math.sign("9"); // +1
Math.sign("foo"); // NaN
Math.sign(); // NaN
Math.sign(undefined); // NaN
不常用的方法
Number.isFinite()
确定传递的值类型及本身是否是有限数。
Number.isSafeInteger()
确定传递的值是否为安全整数 ( -(253 - 1)
至 253 - 1之间
)。
⭐️⭐️⭐️ 好啦!!!本文章到这里就结束啦。⭐️⭐️⭐️
✿✿ ヽ(°▽°)ノ ✿
撒花 🌸🌸🌸🌸🌸🌸