# Difference between revisions of "Advanced Ratings: Rounding Values"

(→See Also:) |
|||

Line 1: | Line 1: | ||

+ | ==Introduction== | ||

+ | |||

+ | ''This area of SchemeServe is more complex than most others. In order for you to make the most out of using our Help Guide for developing your own rates, it would be best if you read all the parts of this guide in order. To help you with this they are listed in numerical order in the “See Also” section of each page. You can click on a link to take you to section 1 and then move through logically at your own pace.'' | ||

+ | |||

+ | ==Rounding Values== | ||

+ | |||

There are a number of ways of rounding results in SchemeServe, the recommended methods are to use the '''CEILING''' function which rounds up and the '''FLOOR''' function which rounds down. | There are a number of ways of rounding results in SchemeServe, the recommended methods are to use the '''CEILING''' function which rounds up and the '''FLOOR''' function which rounds down. | ||

## Revision as of 04:58, 4 December 2012

## Introduction

*This area of SchemeServe is more complex than most others. In order for you to make the most out of using our Help Guide for developing your own rates, it would be best if you read all the parts of this guide in order. To help you with this they are listed in numerical order in the “See Also” section of each page. You can click on a link to take you to section 1 and then move through logically at your own pace.*

## Rounding Values

There are a number of ways of rounding results in SchemeServe, the recommended methods are to use the **CEILING** function which rounds up and the **FLOOR** function which rounds down.

It's important to define where the decimal point lands for accurate rounding.

E.g. 101 round up to 200 = **CEILING**(101/100.0) * 100 = **CEILING**(1.01) * 100

You can also use the expression **Math.Round(number)**. However it is important to understand that the default behaviour of this expression in SchemeServe is to round to the *nearest even number*. That means 1.5 and 2.5 both round to two. The reason for this is that because most numbers tend to be positive rounding away from zero (the standard form of rounding) is statistically less acccurate than rounding to an even number.

If you wish *to round away from zero* you must use this expression: **Math.Round(Number, MidpointRounding.AwayFromZero**)

If you are looking for financially accurate rounding the correct way to handle the operation is to mutiply the number, truncate it and then divide it back again. (i.e. for 2 decimal places n = int(v * 100 +.5) / 100).

It's important to fully understand all the options for rounding before calculating ratings for use in SchemeServe otherwise the answers to your expressions may not be as you would assume.

## See Also:

- Introduction to Rates in SchemeServe
- Uploading SchemeServe Rating Files
- Downloading SchemeServe Rating Files
- Flat Rating: Building Your First SchemeServe Rating File
- Rating Modifiers: What they are and when to use them
- Multi-Step Ratings: Using Multiple Sections in Rating Files
- Advanced Ratings: Using Formulae
- Advanced Ratings: Conditional Statements and Functions
- Advanced Ratings: Rounding Values
- Master Rating: Using Tables and Row Lookup Loops
- Example Ratings for Specific Insurance Types (Life and Public Liability)
- Conditions for Rating Files
- Actions for Rating Files
- Mathematical Helper Functions for Ratings Files
- Rating Agents: Tips and Tricks