How to format number into money format

This is how you can format a number to money format with thousands separator, delimiter and set precision, e.g. from 12345 to 12 345.00

<?php
    define
('INVOICING_NUMBER_FORMAT_DELIMITER', ',');
   
define('INVOICING_NUMBER_FORMAT_THOUSANDS_SEP', ' ');
   
define('INVOICING_NUMBER_FORMAT_PRECISION', 2);

function
invoicing_number_format($number, $delimiter = FALSE, $thousands_sep = FALSE, $precision = FALSE){
   
    if (!
$delimiter) {
       
$delimiter = INVOICING_NUMBER_FORMAT_DELIMITER;
    }
    if (!
$thousands_sep) {
       
$thousands_sep = INVOICING_NUMBER_FORMAT_THOUSANDS_SEP;
    }
    if (!
$precision) {
       
$precision = INVOICING_NUMBER_FORMAT_PRECISION;
    }

    return
number_format((float)$number, $precision, $delimiter, $thousands_sep);

}

?>

...or just

<?php
$number
= 12345;
$number = number_format((float)$number, 2, ",", " ");
//$number => 12 345,00
?>
Knowledge keywords: