PHP money_format:根据值删除小数

时间:2017-03-21 09:14:55

标签: php currency money-format

我有一个我希望以特定格式显示的值。

我希望价格为895,25(如果有小数值)或895, - 如果没有小数值(00)。

这是我的代码:

money_format('%!n', '895,00')

以上输出:

895,00

我尝试了以下但没有运气,它只是删除了值。

money_format('%!.0n', '895.25');

变成这样:

895

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

你可以使精度自适应:

function mfmt($val){
    $prec = 2;
    $suffix = "";
    if(round($val, 0) == $val){
        $prec = 0;
        $suffix = ",-";
    }
    return money_format("%!.${prec}n${suffix}", $val);
}

echo mfmt(825.25)."\n"; //825.25
echo mfmt(825)."\n"; //825,-