Math.round(),Math.ceil(),Math.floor()的区别

1.Math.round():根据“round”的字面意思“附近、周围”,可以猜测该函数是求一个附近的整数,看下面几个例子就明白。

小数点后第一位<5

正数:Math.round(11.46)=11

负数:Math.round(-11.46)=-11

小数点后第一位>5

正数:Math.round(11.68)=12

负数:Math.round(-11.68)=-12

小数点后第一位=5

正数:Math.round(11.5)=12

负数:Math.round(-11.5)=-11

总结:(小数点后第一位)大于五全部加,等于五正数加,小于五全不加。

2.Math.ceil():根据“ceil”的字面意思“天花板”去理解;

例如:

Math.ceil(11.46)=Math.ceil(11.68)=Math.ceil(11.5)=12

Math.ceil(-11.46)=Math.ceil(-11.68)=Math.ceil(-11.5)=-11

3.Math.floor():根据“floor”的字面意思“地板”去理解;

例如:

Math.floor(11.46)=Math.floor(11.68)=Math.floor(11.5)=11

Math.floor(-11.46)=Math.floor(-11.68)=Math.floor(-11.5)=-12

一、我们首先从经典的“四舍五入”算法讲起

1、四舍五入的情况

var num =2.446242342;

num = num.toFixed(2); // 输出结果为 2.45

var num =2.446242342;

num = num.toFixed(2); // 输出结果为 2.45

2、不四舍五入

Math.floor(15.7784514000 * 100) / 100 // 输出结果为 15.77

Math.floor(15.7784514000 * 100) / 100 // 输出结果为 15.77

你可能感兴趣的:(Math.round(),Math.ceil(),Math.floor()的区别)