Javascript round函数不起作用
我在JavaScript中有一个函数,可以对数字进行舍入Javascript round函数不起作用,javascript,Javascript,我在JavaScript中有一个函数,可以对数字进行舍入 function roundNumber(num){ var result = Math.round(num*100)/100; return result; } alert(roundNumber(5334.5)); //I still get 5334.5 when normally I should get 5335 我错过了什么 演示:使用右括号: var result = Math.round(num);
function roundNumber(num){
var result = Math.round(num*100)/100;
return result;
}
alert(roundNumber(5334.5));
//I still get 5334.5 when normally I should get 5335
我错过了什么
演示:使用右括号:
var result = Math.round(num);
演示:试试这个
alert(Math.round(5334.5));
尝试使用:
function roundNumber(num){
var result = Math.round(num);
return result;
}
alert(roundNumber(5334.5));
应该是数学。roundnum*100/100答案是正确的。实际上,您已四舍五入到小数点后2位。应该是:
Math.round(num);
只需使用以下行修改代码::
var result = Math.round(num);
我认为这是一个你想要覆盖默认行为的时候,Math.round是一个很好的方法,但是有时候轮子不够圆。以下是您可以做的:
Math.round = function (x) {
if (parseInt((x + 0.5).toString().split(".")[0], 10) > parseInt(x.toString().split(".")[0], 10)) {
return parseInt((x + 1).toString().split(".")[0], 10);
} else {
return parseInt(x.toString().split(".")[0], 10);
}
};
你把结果除以100。为什么您希望它是一个整数?您的函数是一种截断到小数点后2位的方法,但您希望它四舍五入到最接近的整数。这里有一点逻辑错误。您似乎使用了从四舍五入到小数点后两位的代码。为什么要乘以100,然后除以100?@DaniloValente:OP的原始问题。。我只是照搬了一下。。我需要一杯咖啡。。直接使用Math.round对我来说更有意义。。。只是说说而已。