# Math.round vs Math.floor vs Math.ceil : Kotlin

Rounding up to the nearest Integer value functionality is something required a lot of times. Kotlin has a few inbuilt functions which can do the rounding up for us but they are a bit confusing. To decide when to use what, we need to understand which rounding function rounds up in which direction and which data types it can round up.

*This post was originally posted at *https://agrawalsuneet.github.io/blogs/math-round-vs-math-floor-vs-math-ceil-kotlin/ *and reposted on Medium on 13th April 2022.*

Let’s understand them in detail before comparing.

Before reading this blog, keep in mind that -3 is bigger than -4 and -3.5 is bigger than -3.51

# Math.round()

- Math.round rounds up to the nearest Integer which can be above or below or even equal to the actual value.
- In the case of a positive number, anything which is equal to or below x.49 will be converted to a lower number ie x.00 whereas anything which is equal to or more than x.5 will be converted to a higher number ie x+1.00
- In the case of a negative number, anything which is equal to or below -x.51 will be converted to a lower number ie -x-1.00 whereas anything which is equal to or more than -x.5 will be converted to a higher number ie -x.00

println(Math.round(3.00))

//this will print: 3println(Math.round(3.49))

//this will print: 3println(Math.round(3.5))

//this will print: 4println(Math.round(-3.00))

//this will print: -3println(Math.round(-3.5))

//this will print: -3println(Math.round(-3.51))

//this will print: -4

# Math.floor()

- Math.floor rounds up to the nearest Integer which can be equal to or below the actual value.
- In the case of a positive number, anything between x.01 to x.99 will be converted to a lower number ie x.00 whereas x.00 will remain the same x.00
- In the case of a negative number, anything between -x.01 to -x.99 will be converted to a lower number ie -x-1.00 whereas -x.00 will remain the same -x.00

println(Math.floor(3.00))

//this will print: 3println(Math.floor(3.01))

//this will print: 3println(Math.floor(3.99))

//this will print: 3

println(Math.floor(-3.00))

//this will print: -3println(Math.floor(-3.01))

//this will print: -4println(Math.floor(-3.99))

//this will print: -4