w3resource

PHP Array Exercises : Floor decimal numbers with precision

PHP Array: Exercise-18 with Solution

Write a PHP function to floor decimal numbers with precision.

Note: Accept three parameters number, precision, and $separator
Sample Data :
1.155, 2, "."
100.25781, 4, "."
-2.9636, 3, "."

Sample Solution:

PHP Code:

<?php
// Define a function named 'floorDec' that rounds down a decimal number to a specified precision using a given separator
function floorDec($number, $precision, $separator)
{
    // Split the decimal number into integer and fractional parts using the specified separator
    $number_part = explode($separator, $number);

    // Replace a portion of the fractional part to achieve the desired precision
    $number_part[1] = substr_replace($number_part[1], $separator, $precision, 0);

    // If the integer part is non-negative, use 'floor' to round down the fractional part
    if ($number_part[0] >= 0) {
        $number_part[1] = floor($number_part[1]);
    }
    // If the integer part is negative, use 'ceil' to round up the fractional part
    else {
        $number_part[1] = ceil($number_part[1]);
    }

    // Combine the modified integer and fractional parts and return the result
    $ceil_number = array($number_part[0], $number_part[1]);
    return implode($separator, $ceil_number);
}

// Call the 'floorDec' function with examples and print the results
print_r(floorDec(1.155, 2, ".") . "\n");
print_r(floorDec(100.25781, 4, ".") . "\n");
print_r(floorDec(-2.9636, 3, ".") . "\n");
?>
 

Output:

1.15                                                        
100.2578                                                    
-2.964    

Flowchart:

Flowchart: Floor decimal numbers with precision

PHP Code Editor:

Contribute your code and comments through Disqus.

Previous: Write a PHP function that returns the lowest integer that is not 0.
Next: Write a PHP script to print "second" and Red from the specified array.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.