views:

75

answers:

4

Hi all,

How can I round a decimal number in Javascript to the nearest 10? My math is pretty rubbish today, it could be the 2 hour sleep :/

Some sample cases

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

I understand I probably need a combination of Math.round/floor but I can't seem to get expected result.

Any help/pointers appreciated!

M

+6  A: 

Try

Math.round(val / 10) * 10;
Toby
+4  A: 

To round a number to the nearest 10, first divide it by 10, then round it to the nearest 1, then multiply it by 10 again:

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

This page has some details. They go the other way (e.g., rounding to the nearest 0.01) but the theory and practice are identical - multiply (or divide), round, then divide (or multiply).

paxdiablo
+4  A: 

Use this function:

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



alert(roundTen(2823.66));
Sebastián Grignoli
+2  A: 

10 * Math.round(val / 10)

morgancodes