Question: I want to set my checkbox to be automatically unchecked when my webpage loads. I am using the function form\_checkbox() which has these parameters if you use an array to give the checkbox your desired properties.

```
$data = array(
'name'        => 'newsletter',
'id'          => 'newsletter',
'value'       => 'accept',
'checked'     => TRUE,
'style'       => 'margin:10px',
);

echo form_checkbox($data);

```

which parameter in my array do I alter so that when my page loads for a user the checkbox is unchecked and then the user would have to check the checkbox for that checkbox to become true?

Answer: 
As per the [table on MSDN here](http://technet.microsoft.com/en-us/library/ms175003.aspx) Sql Server's `ROUND()` will return a decimal output for a decimal input.

The overloads of [`Math.Round`](http://msdn.microsoft.com/en-us/library/system.math.round.aspx) return either decimal or double, depending on the input type.

The reason why you aren't seeing `.00` therefore must be as a result of the formatting you are applying to the result.

(Speculative, but the default formatting on `string.Format` or `Debug.Writeline` may internally be using a technique [such as this](https://stackoverflow.com/questions/13477689/find-number-of-decimal-places-in-decimal-value-regardless-of-culture) to retrieve the number of decimal places and provide a default presentation), e.g.

```
int count = BitConverter.GetBytes(decimal.GetBits(Math.Round(150.75M, 0))[3])[2];

```
SQL is giving you the same datatype you put in - there is a precision setting for a decimal datatype in SQL and since you are specifying an number with 2dp, SQL returns a value with 2dp.

.NET doesn't share the same data types as SQL and is therefore returning a `double` (since you didn't specify the input as decimal)