4

In my javascript pagination file I was calculating number of pages by Math.ceil()

        var total_pages = Math.ceil(total_items/items_per_page);

But here I am getting 3 for 2.25, 1 for 0.588, 2 for 1.01 etc. But i need to get 2 for 2.25 and 1 for 1.01. So how can I check that in JavaScript.

Actual

3 for 2.25 1 for 0.588 1 for 1.088 2 for 1.01

Required

2 for 2.25 1 for 0.588 1 for 1.088 1 for 1.01

RobG
  • 142,382
  • 31
  • 172
  • 209
Nidheesh
  • 4,390
  • 29
  • 87
  • 150

6 Answers6

3

Round it.

var total_pages = Math.round(total_items/items_per_page);
Jonas T
  • 2,989
  • 4
  • 32
  • 43
3

Why not use Javascript toFixed() method?

var num = total_items/items_per_page;
var total_pages = num.toFixed(0);

DEMO
Reference

sohel khalifa
  • 5,602
  • 3
  • 34
  • 46
1

Add 0.5 to the number and then take the floor.

1

Use Math.round(Your Number).. It will round off your number .. I mean 2.2 to 2 , 1.6 to 2 etc

Prasath K
  • 4,950
  • 7
  • 23
  • 35
0

You should be using Math.floor() instead of Math.ceil()

https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Math/floor

MattDiamant
  • 8,561
  • 4
  • 37
  • 46
0

ceil will return next number ,floor will return before number

 Example:

 Math.ceil(2.2) = 3;
 Math.floor(2.2) = 2;
PSR
  • 39,804
  • 41
  • 111
  • 151