数字处理
toFixed()
语法:number.toFixed(需要保留几位小数)
作用:四舍五入,保留几位小数
参数:需要保留几位小数,就传入数字几;如果不传的话就是取整了
返回值:字符串
不会改变原来的数字,四舍五入返回一个字符串,最后一位可能为0
正负号不受影响,依旧保留
let a = 5.248674;
let b = 0;
console.log(a.toFixed(2)); // 5.25
console.log(a); // 5.248674
console.log(a.toFixed()); // 5
console.log(b.toFixed(2)); // 0.00
parseFloat()
语法:parseFloat(需处理的数字或字符串)
作用:处理字符串或数字,返回一个浮点数
参数:需要处理的数字或者字符串
返回值:数字,最后一位一定小数不为0
常见应用:去除百分号;字符串转数字
不会进行四舍五入,但是它的最后一位小数一定不会为0,0会被去除掉
正负号不受影响,依旧保留
console.log(parseFloat(99.99)); //99.99
console.log(parseFloat(0)); // 0
console.log(parseFloat(2.12)); // 2.12
console.log(parseFloat("92.20%")); // 92.2
小数与百分数的互换
小数转百分数(字符串):小数*100 + “%”
百分数转小数:parseFloat(百分数) / 100
parseInt()
语法:parseFloat(需处理的数字或字符串)
作用:处理字符串或数字,返回一个整数
参数:需要处理的数字或者字符串
返回值:数字
常见应用:去除百分号;字符串转数字
不会进行四舍五入,只保留整数部分
正负号不受影响,依旧保留
console.log(parseInt(99.99)); //99
console.log(parseInt(0)); // 0
console.log(parseInt(2.12)); // 2
console.log(parseInt("92.20%")); // 92
Math.floor() 向下取整
语法:Math.floor(number)
作用:取整
参数: 数字
返回值:整数
取整规则:如果是传入的是整数,则返回这个数本身;如果是小数,则先不带符号,在整数基础上加1,然后带上符号比较原来的整数与后加1的整数,取其中的小的整数(考虑符号)
正负号不受影响,依旧保留
console.log(Math.floor(99.99)); // 99
console.log(Math.floor(99.01)); // 99
console.log(Math.floor(99)); // 99
console.log(Math.floor(0.5)); // 0
console.log(Math.floor(-99.99)); // -100
console.log(Math.floor(-99.01)); // -100
Math.ceil() 向上取整
取整规则:如果是传入的是整数,则返回这个数本身;如果是小数,则先不带符号,在整数基础上加1,然后带上符号比较原来的整数与后加1的整数,取其中的大的整数(考虑符号)
其他和Math.floor()一样
console.log(Math.ceil(99.99)); // 100
console.log(Math.ceil(99.01)); // 100
console.log(Math.ceil(99)); // 99
console.log(Math.ceil(0.5)); // 1
console.log(Math.ceil(-99.99)); // -99
console.log(Math.ceil(-99.01)); // -99
Marh.round() 四舍五入
取整规则:正数是四舍五入取整数;负数是先不带符号,去除符号来四舍五入取整,然后再八符号加上
但是有一个特例:-0.5,Marh.round(-0.5)的返回只是0
console.log(Math.round(99.99)); // 100
console.log(Math.round(99.01)); // 99
console.log(Math.round(-0.5)); // -0
console.log(Math.round(-99.99)); // -100
console.log(Math.round(-99.01)); // -99
三者相同点:都返回整数
其他
代码 | 返回值 | 说明 |
---|---|---|
Math.randon() | 0-1之间的随机数 | 不需要参数 |
Math.abs(需处理数字) | 返回绝对值 | 参数为数字 |
Math.PI | 返回圆周率3.1415…… | 无参数 |
Math.max/min(a,b,c,d) | 返回最大或最小值 |
Number()
语法:Number(字符串)
作用:字符串转数字
返回值:数字
负号不受影响,最后一位小数是0会去除
console.log(Number("-99.99")); // -99.99
console.log(Number("99.90")); // 99.9
console.log(Number("0")); // 0
但是最方便用的转数字还是隐式转换 - 0