使用两位小数格式化货币,如果是整数,则使用短划线

时间:2015-07-12 21:44:08

标签: php sql decimal show

如何以下列方式将数字格式化为欧元货币?

  • 如果它们不是整数,请使用,作为小数点分隔符将它们格式化为两位小数。例如,35.95格式为€35,95。

  • 如果它们是整数,请在最后用,-格式化它们。例如,60将格式化为€60, - 。

当我使用print_r输出我的值时,如下面的代码所示,它将值格式化为6位小数。例如,3500的格式为€3500,000000。如何更改它以格式化数字,如上所述?

<?php
$query = 'SELECT `jr_prijs` FROM `zmuvr_jreviews_content` WHERE contentid = '.$item->getId();
$db->setQuery( $query );
$result = $db->loadResult();
print_r($result);
?>  

1 个答案:

答案 0 :(得分:1)

以下函数“format_prices”在参数中采用二维数组(格式为:[0] =&gt;'123,000000000',[1] =&gt; '12,22')并返回它形成了:

<?php
function format_prices($array) {

    foreach ($array as &$value) {
        $value = preg_replace( '/[.,]0{2,}/', '', strval($value) );
    }

    return $array;
}
?>

然后你可以写:

<?php
    $query = 'SELECT `jr_prijs` FROM `zmuvr_jreviews_content` WHERE contentid = '.$item->getId();
    $db->setQuery( $query );
    $result = $db->loadResult();
    print_r( format_prices($result) );
?>

我希望它可以适用于你的情况,我承认我不确定我是否已经很好地理解了背景的所有特性。