w3resource

PHP Math Exercises: Round a float away from zero to a specified number of decimal places

PHP math: Exercise-8 with Solution

Write a PHP function to round a float away from zero to a specified number of decimal places.

Sample Data :
(78.78001, 2)
(8.131001, 2)
(0.586001, 4)
(-.125481, 3)
-.125481

Sample Solution:

PHP Code:

<?php
function roundout ($value, $places=0) {
if ($places < 0) { $places = 0; }
$x= pow(10, $places);
return ($value >= 0 ? ceil($value * $x):floor($value * $x)) / $x;
}
echo roundout (78.78001, 2)."\n";
echo roundout (8.131001, 2)."\n";
echo roundout (0.586001, 4)."\n";
echo roundout (-.125481, 3)."\n";
echo roundout (-.125481);
?>

Sample Output:

78.79                                                       
8.14                                                        
0.5861                                                      
-0.126                                                      
-1 

Flowchart :

Flowchart: Round a float away from zero to a specified number of decimal places

PHP Code Editor:

Have another way to solve this solution? Contribute your code (and comments) through Disqus.

Previous: Find earliest and latest dates from a list of dates.
Next: Write a PHP function to convert Arabic numbers to Roman numerals.

What is the difficulty level of this exercise?



PHP: Tips of the Day

PHP represents "no value" with the null keyword. It's somewhat similar to the null pointer in C-language and to the NULL value in SQL.

Setting the variable to null:

Example:

$nullvar = null; // directly
function doSomething() {} // this function does not return anything
$nullvar = doSomething(); // so the null is assigned to $nullvar

Checking if the variable was set to null:

if (is_null($nullvar)) { /* variable is null */ }
if ($nullvar === null) { /* variable is null */ }

Null vs undefined variable

If the variable was not defined or was unset then any tests against the null will be successful but they will also generate a Notice: Undefined variable: nullvar:

$nullvar = null;
unset($nullvar);
if ($nullvar === null) { /* true but also a Notice is printed */ }
if (is_null($nullvar)) { /* true but also a Notice is printed */ }

Therefore undefined values must be checked with isset:

if (!isset($nullvar)) { /* variable is null or is not even defined */ }