59

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
  • 40,609
  • 10
  • 73
  • 97
Linas
  • 4,380
  • 17
  • 69
  • 117

4 Answers4

152

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:

const input = [1, 0.5, 0.49, 0, -0.5, -0.51,  -1];
const ops = ["floor", "ceil", "round"];
const output = input.map(n =>
  ops.reduce((record, op) => {
    record[`Math.${op}(n)`] = Math[op](n);
    return record;
  }, {n}));
console.table(output);
<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
  • 40,609
  • 10
  • 73
  • 97
10

Use Math.ceil():

Math.ceil(1.2); // 2
Nik Sumeiko
  • 8,263
  • 8
  • 50
  • 53
David G
  • 94,763
  • 41
  • 167
  • 253
9

Use Math.ceil()

It does exactly what you want.

Khôi
  • 2,133
  • 11
  • 10
-1

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