# Round calculation to the nearest pound

Hi guys,

I have the following calc, how can I round it to the nearest pound? £2.50 would be £3.00 and £2.49 would be £2.00 etc...

<?php \$TheVar = \$rows_product[\$i]['product_rrp'] - \$rows_product[\$i]['product_price']; ?>

Thanks,
Dean
###### Who is Participating?

Commented:
Hi Dean,

You can use the normal round function integrated into php.
As described in the following documentation:
http://php.net/manual/en/function.round.php

Just take note of the data type you pass to this function, as it does not like strings that are not formatted correctly.

I suppose in your case it would be something like:
``````<?php
\$TheRRP = \$rows_product[\$i]['product_rrp'];
\$ThePrice = \$rows_product[\$i]['product_price'];
\$TheVar = \$TheRRP - \$ThePrice;
\$TheVar = round(\$TheVar);
?>
``````

This piece of code is obviously very stretched out just for better reading.

There are two other functions as well:
ceil() - This one always rounds up no matter how small the decimal
floor() - This one always rounds down no matter how small the decimal.

Regards
SW
0

Commented:
If your variables contain the pound sign, then you'll need to strip that out. Also, if you need the output to include the decimals, you've got number_format().

``````\$rrp = str_replace('£', '', \$rows_product[\$i]['product_rrp']);
\$price = str_replace('£', '', \$rows_product[\$i]['product_rrp']);

\$TheVar = round(\$rrp - \$price);

echo number_format(\$TheVar,2);
``````
0

Freelancer and IT ConsultantCommented:

float round ( float \$val [, int \$precision = 0 [, int \$mode = PHP_ROUND_HALF_UP ]] )

or

<?php
echo(round(0.60) . "<br>");
echo(round(0.50) . "<br>");
echo(round(0.49) . "<br>");
echo(round(-4.40) . "<br>");
echo(round(-4.60));
?>
0

Commented:
http://www.experts-exchange.com/Web_Development/Web_Languages-Standards/PHP/A_11769-And-by-the-way-I-am-new-to-PHP.html

... And some things to avoid as you get started with PHP...
http://www.experts-exchange.com/Web_Development/Web_Languages-Standards/PHP/A_12293-AntiPHPatterns-and-AntiPHPractices.html

Best of luck with your project, ~Ray
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.