web-dev-qa-db-ja.com

Javascriptで10ドル単位で四捨五入

Javascriptの10進数を10に四捨五入するにはどうすればよいですか?今日の私の数学はかなりごみです、それは2時間の睡眠かもしれません:/

いくつかのサンプルケース

$2823.66  = $2820
$142.11 = $140
$9.49 = $10

おそらくMath.round/floorの組み合わせが必要だと理解していますが、期待した結果が得られないようです。

ヘルプ/ポインタを歓迎します!

[〜#〜] m [〜#〜]

24
Marko

試してみてください

Math.round(val / 10) * 10;
70
Toby

この関数を使用します:

function roundTen(number)
{
  return Math.round(number/10)*10;
}



alert(roundTen(2823.66));
12

数値を最も近い10に丸めるには、最初に10で除算し、次に最も近い1に丸めてから、もう一度10を掛けます。

val = Math.round(val/10)*10;

このページ 詳細があります。それらは逆になります(たとえば、0.01に最も近い値に丸めます)が、理論と実践は同じです-乗算(または除算)、丸め、次に除算(または乗算)。

9
paxdiablo

10 * Math.round(val/10)

4
morgancodes
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
);
2
yckart