// 1.只保留整数部分(丢弃小数部分)
parseInt(5.1234);// 5
// 2.向下取整(<= 该数值的最大整数)和parseInt()一样
Math.floor(5.1234);// 5    
// 3.向上取整(有小数,整数就+1)
Math.ceil(5.1234);

// 4.四舍五入(小数部分)
Math.round(5.1234);// 5
Math.round(5.6789);// 6
// 5.绝对值
Math.abs(-1);// 1
// 6.返回两者中的较大值
Math.max(1,2);// 2
// 7.返回两者中的较小值
Math.min(1,2);// 1
// 随机数(0-1)
Math.random();

关于Math.floor()与parseInt()

它们两个都是只保留整数部分,但是在转换时可能会出现不精确的情况:

临界点:

  当有16位小数,且最后一位小数为5时,取的值是该数值的最大整数;

  Math.floor(5.9999999999999995);// 5

  当有16位小数,且最后一位小数为6时,取的值是该数值的最大整数+1。

  Math.floor(5.9999999999999996);// 6

20200909

  js浮点计算精度问题解决办法

js 向上取整、向下取整、四舍五入

  如上图所示,1.01+1.1的结果不是2.11,怎么解决?

js 向上取整、向下取整、四舍五入

  将计算结果调用toFixed(num),进行四舍五入并设置将要保留的小数位数 

  toFixed()返回的是字符串,如果需要转成number类型的话,调用parseFloat()

js 向上取整、向下取整、四舍五入

2021年11月27日16:20:03

当只对正整数进行向下取值时,Math.floor()可以替换成位运算;

当只对负整数进行向上取值时,Math.ceil()可以替换成位运算;

具体,看文末推荐。

写在最后

  哪位大佬如若发现文章存在纰漏之处或需要补充更多内容,欢迎留言!!!

 相关推荐:

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案