Search code examples
javamathintrounding

Java Round up Any Number


I can't seem to find the answer I'm looking for regarding a simple question: how do I round up any number to the nearest int?

For example, whenever the number is 0.2, 0.7, 0.2222, 0.4324, 0.99999 I would want the outcome to be 1.

So far I have

int b = (int) Math.ceil(a / 100);

It doesn't seem to be doing the job, though.


Solution

  • Math.ceil() is the correct function to call. I'm guessing a is an int, which would make a / 100 perform integer arithmetic. Try Math.ceil(a / 100.0) instead.

    int a = 142;
    System.out.println(a / 100);
    System.out.println(Math.ceil(a / 100));
    System.out.println(a / 100.0);
    System.out.println(Math.ceil(a / 100.0));
    System.out.println((int) Math.ceil(a / 100.0));
    

    Outputs:

    1
    1.0
    1.42
    2.0
    2
    

    See http://ideone.com/yhT0l