57

I want my number to always get rounded up to the closest number like this:

1.2 => 2

1.4 => 2

2.5 => 3

2.9 => 3

How can i do this with JavaScript?

canon
  • 38,844
  • 9
  • 71
  • 94
Linas
  • 4,234
  • 16
  • 68
  • 117

4 Answers4

146

You can use the Math.ceil() function.

Math.ceil(1.1) // returns 2

Conversely, if you wanted to round down you'd use Math.floor()

Math.floor(1.8) // returns 1

Here's a demo:

console.table([1, 1.25, 1.49, 1.5, 1.75, 2].map(n => ({
  n,
  "Math.floor(n)": Math.floor(n),
  "Math.ceil(n)": Math.ceil(n),
  "Math.round(n)": Math.round(n),
})));
<script src="https://gh-canon.github.io/stack-snippet-console/console.min.js"></script><script>console.config({maximize:true,timeStamps:false})</script><style>.as-console-wrapper{display:block;}</style>

Note: Floor and ceiling functions aren't exclusive to javascript. See this wikipedia entry for more info.

canon
  • 38,844
  • 9
  • 71
  • 94
11

Use Math.ceil():

Math.ceil(1.2); // 2
Nik Sumeiko
  • 7,404
  • 8
  • 47
  • 51
David G
  • 90,891
  • 40
  • 158
  • 247
10

Use Math.ceil()

It does exactly what you want.

Khôi
  • 2,105
  • 11
  • 10
0

I use Math.ceil() function for round upper value.