如何将Javascript中的十进制数舍入到最接近的10?我今天的数学很垃圾,可能是2小时的睡眠:/
一些示例案例
$2823.66 = $2820
$142.11 = $140
$9.49 = $10
我知道我可能需要Math.round / floor的组合,但我似乎无法获得预期的结果。
赞赏任何帮助/指示!
中号
答案 0 :(得分:70)
尝试
Math.round(val / 10) * 10;
答案 1 :(得分:12)
使用此功能:
function roundTen(number)
{
return Math.round(number/10)*10;
}
alert(roundTen(2823.66));
答案 2 :(得分:9)
要将数字舍入到最接近的10,首先将其除以10,然后将其四舍五入到最接近的1,然后再将其乘以10:
val = Math.round(val/10)*10;
This page有一些细节。它们走另一条路(例如,舍入到最接近的0.01),但理论和实践是相同的 - 乘法(或除法),舍入,然后除(或乘)。
答案 3 :(得分:4)
10 * Math.round(val / 10)
答案 4 :(得分:2)
function round(number, multiplier) {
multiplier = multiplier || 1;
return Math.round(number / multiplier) * multiplier;
}
var num1 = 2823.66;
var num2 = 142.11;
var num3 = 9.49;
console.log(
"%s\n%s\n%s", // just a formating thing
round(num1, 10), // 2820
round(num2, 10), // 140
round(num3, 10) // 10
);