# 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`