# Formatting using the Rounding Function

In general, Crystal Reports users set up the default formatting to display the data in the way it is to be used most often. However, when it is necessary to be able to switch quickly to another format – right-clicking to format the field is usually the solution.

If the data field comes down to Crystal Reports with several decimal points, one solution would be to use the remove decimal places button on the tool formatting bar. That button actually rounds up on decimal place numbers greater than 5 and rounds down on decimal place numbers less than 5.

If that data is included in a formula, the `Round` function could be used on the number to be formatted. To give the report designer more control there are actually two functions for rounding numbers: `Round` and `RoundUp`. Each of these rounding functions have two sub-functions, which we will see below.

### Round Function

The syntax is simply `Round (x)`, with `x` being the numeric or currency field to be rounded. Here are some examples of the `Round` function:

• `Round(1.234) = 1`
• `Round(1.4999) = 1`
• `Round(1.5000) = 2`

You can also add a second argument to the `Round` function to indicate how many places to be rounded to as represented by `y` here: `Round(x, y)`. Some more examples:

• `Round(1.234,2) = 1.23`
• `Round(1234.2345,2) = 1234.23`
• R`ound(2345.23456,0) = 2345`

### RoundUp Function

The syntax is RoundUp(x), again with x being the numeric or currency field to be rounded. Here are some examples of the `RoundUp` function:

• `RoundUp(4.234) = 5`
• `RoundUp(1.4999) = 2`
• `RoundUp(1.25000) = 2`

Again, you can also add a second argument to the `RoundUp` function to indicate how many places to be rounded to as represented by `y` here: `RoundUp(x, y)`. Some more examples:

• `RoundUp(1.234,2) = 1.25`
• `RoundUp(6.36521,3) = 6.366`
• `RoundUp(2345.23456,0) = 2345`

If the second argument is left blank then the function rounds up to the nearest integer. In other words, 0 is the default for the second argument.

All this sounds complex, but it really isn’t. I would suggest that you try it on simple numbers with decimals first. Then, when you have the expected results, place it in your Crystal Report using it with the database field.

Taking it a step further, as in Arne’s comment – an `if-then-else` operator would have to be incorporated using syntax similar to this example:

``````If region in[CA, MA, FL] then Round({orderdetails.orderamount},2)
Else Round({orderdetails.orderamount},0)``````

Happy Rounding with Crystal Reports!!