2017-03-21 16 views
1

私は特定の形式で表示したいという価値があります。PHP money_format:値に基づいて小数点以下を削除する

私は価格が895,25(10進値がある場合)または895 - 10進値(00)がない場合に値します。ここで

が私のコードです:

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

上記出力:

895,00 

私は次のことを試してみましたが、運と、それは単に値を削除します。

895 

任意のアイデア:

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

は、この変身しますか?

+0

あなたはこの試してみました: 'str_ireplace( " 00" 、" - 」、money_format( '!%N'、 '895,00')を) '? – Jer

+0

私はstr_replaceを試していません。 money_formatメソッドで何かを見逃していたと私は思っていた –

答えて

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,- 
関連する問題