4

How can I round a number up to the nearest .5? For example:

5.4 -> 5.5
5.6 -> 6
6.1 -> 6.5

Here is what I tried so far:

var number = 5.1;
var roundednumber = Math.round(number*2)/2 
Joel
  • 4,732
  • 9
  • 39
  • 54
user3117628
  • 776
  • 1
  • 15
  • 35

1 Answers1

15

That's what the Math.ceil (ceiling) method is for:

The Math.ceil(x) function returns the smallest integer greater than or equal to a number "x".

For example:

var number = 5.1;
var roundednumber = Math.ceil(number*2)/2; // 5.5

But note that it will also round negative numbers up (more positive):

var number = -5.1;
var roundednumber = Math.ceil(number*2)/2; // -5

If you want to round away from 0, you'd have to do something like this:

var number = -5.1;
var roundednumber = (number > 0 ? Math.ceil : Math.floor)(number*2)/2; // -5.5
p.s.w.g
  • 146,324
  • 30
  • 291
  • 331