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或更多时,应首先执行此操作。裁判: