Is there any Java function or util class which does rounding this way: func(3/2) = 2?

ceil, java, rounding

Solution

`Math.ceil()` will always round up, however you are doing integer division with `3/2`. Thus, since in integer division `3/2 = 1` (not `1.5`) the ceiling of `1` is `1`.

What you would need to do to achieve the results you want is `Math.ceil(3/2.0);`

By doing the division by a double amount (`2.0`), you end up doing floating point division instead of integer division. Thus `3/2.0 = 1.5`, and the `ceil()` of `1.5` is always `2`.

Problem

Is there any Java function or util `class` which does rounding this way: `func(3/2) = 2` `Math.ceil()` doesn't help, which by name should have done so. I am aware of `BigDecimal`, but don't need it.

Original source

Related problems