如何在JavaScript中四舍五入一个数字?
Math.round()不起作用,因为它舍入到最接近的小数。
我不确定是否有更好的方法,而不是在小数点处分开,保留第一位。一定有……
如何在JavaScript中四舍五入一个数字?
Math.round()不起作用,因为它舍入到最接近的小数。
我不确定是否有更好的方法,而不是在小数点处分开,保留第一位。一定有……
当前回答
要四舍五入到负无穷,可以使用:
rounded=Math.floor(number);
要四舍五入到零(如果数字可以四舍五入到-2147483648和2147483647之间的32位整数),使用:
rounded=number|0;
要四舍五入到零(对于任何数字),使用:
if(number>0)rounded=Math.floor(number);else rounded=Math.ceil(number);
其他回答
使用Math.floor()是做到这一点的一种方法。
更多信息:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/floor
要四舍五入到负无穷,可以使用:
rounded=Math.floor(number);
要四舍五入到零(如果数字可以四舍五入到-2147483648和2147483647之间的32位整数),使用:
rounded=number|0;
要四舍五入到零(对于任何数字),使用:
if(number>0)rounded=Math.floor(number);else rounded=Math.ceil(number);
Math.floor(1+7/8)
Math.round(3.14159 * 100) / 100 // 3.14
3.14159.toFixed(2); // 3.14 returns a string
parseFloat(3.14159.toFixed(2)); // 3.14 returns a number
Math.round(3.14159) // 3
Math.round(3.5) // 4
Math.floor(3.8) // 3
Math.ceil(3.2) // 4
将一个数字舍入到0(又名“截断其小数部分”)可以通过减去其带符号的小数部分数字% 1来完成:
rounded = number - number % 1;
喜欢数学。floor(四舍五入到-∞)这个方法是完全准确的。
-0, +∞和-∞的处理是不同的:
Math.floor(-0) => -0
-0 - -0 % 1 => +0
Math.floor(Infinity) => Infinity
Infinity - Infinity % 1 => NaN
Math.floor(-Infinity) => -Infinity
-Infinity - -Infinity % 1 => NaN