JavaScript循环到下一个0.1
我试图将一个数字四舍五入到下一个最高的JavaScript循环到下一个0.1,javascript,Javascript,我试图将一个数字四舍五入到下一个最高的0.1小数点。例如,如果我有2.51,我希望它被四舍五入到2.6,3.91到4,4.12到4.2等等 我尝试了以下方法,但这只是四舍五入到最接近的0.1decimal,而不是下一个0.1 4.41.toFixed(1); 这四舍五入到4.4而不是4.5,如预期的那样除法、ceil,然后乘法和格式化 (Math.ceil(num * 10) / 10).toFixed(1); 除法、ceil、乘法并格式化 (Math.ceil(num * 10) / 10
0.1
小数点。例如,如果我有2.51
,我希望它被四舍五入到2.6
,3.91
到4
,4.12
到4.2
等等
我尝试了以下方法,但这只是四舍五入到最接近的0.1
decimal,而不是下一个0.1
4.41.toFixed(1);
这四舍五入到
4.4
而不是4.5
,如预期的那样除法、ceil,然后乘法和格式化
(Math.ceil(num * 10) / 10).toFixed(1);
除法、ceil、乘法并格式化
(Math.ceil(num * 10) / 10).toFixed(1);
只需将数字乘以10,使用
Math.ceil()
然后将其除以10
Math.ceil(num * 10) / 10
只需将数字乘以10,使用
Math.ceil()
然后将其除以10
Math.ceil(num * 10) / 10
我会的
请注意,这仍然会在第16位有效数字上留下尾随数字,尽管这是因为浮点数通常不能被精确截断到小数点后1位4.5
是一个二元有理数。例如,距离2.6
最近的double
是2.6000000000000088817841970012523233890533447265625
Math.ceil(4.41*10)/10 // 4.5
我会的
请注意,这仍然会在第16位有效数字上留下尾随数字,尽管这是因为浮点数通常不能被精确截断到小数点后1位4.5
是一个二元有理数。例如,距离2.6
最近的double
是2.6000000000000088817841970012523233890533447265625
Math.ceil(4.41*10)/10 // 4.5
更一般地说
Math.ceil(x*10)/10
更一般地说
Math.ceil(x*10)/10
您可以添加偏移量
0.04999999
,然后取固定值
函数轮(v){
返回值(v+0.04999999).toFixed(1);
}
console.log(圆形(2.51));//2.6
console.log(圆形(3.91));//4
console.log(循环(4.12));//4.2
console.log(第1轮);//4.2
您可以添加偏移量0.049999999
并取固定值
函数轮(v){
返回值(v+0.04999999).toFixed(1);
}
console.log(圆形(2.51));//2.6
console.log(圆形(3.91));//4
console.log(循环(4.12));//4.2
console.log(第1轮);//4.2
您需要使用数学。舍入
可能重复的数字乘以然后,使用.ceil(),然后除以10。请注意,这在数学上是不正确的,因为当次小数为5或更多时,应首先进行此操作。Ref:您需要使用Math.round
将数字乘以然后,使用.ceil(),然后除以10的可能重复项。请注意,这在数学上是不正确的,因为当次小数为5或更多时,应首先执行此操作。裁判: