Круглые деньги до ближайших 10 долларов в Javascript - PullRequest
24 голосов
/ 12 августа 2010

Как можно округлить десятичное число в Javascript с точностью до 10? Моя математика сегодня довольно мусорная, это может быть двухчасовой сон: /

Некоторые примеры корпусов

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

Я понимаю, что, возможно, мне нужна комбинация Math.round / floor, но я не могу получить ожидаемый результат.

Любая помощь / указатели приветствуются!

M

Ответы [ 5 ]

70 голосов
/ 12 августа 2010

Попробуйте

Math.round(val / 10) * 10;
12 голосов
/ 12 августа 2010

Используйте эту функцию:

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



alert(roundTen(2823.66));
9 голосов
/ 12 августа 2010

Чтобы округлить число до 10, сначала разделите его на 10, затем округлите до 1, затем снова умножьте на 10:

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

Эта страница есть некоторые детали.Они идут другим путем (например, округляя до ближайшего 0,01), но теория и практика идентичны - умножить (или разделить), округлить, затем разделить (или умножить).

4 голосов
/ 12 августа 2010

10 * Math.round (val / 10)

2 голосов
/ 02 апреля 2013
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
);
...