2011-10-20 9 views
1

私は簡単な質問があります。私はこのような機能を持っている:私は85.0055.00のような数字を持っている場合PHP関数 - 数値を0.00でクリーンアップ

function clean_num($num){ 
    return trim(trim($num, '0'), '.'); 
} 

は、だから、0.00を脱ぐだけとを返します。

私は数字が0.00ですが、何が起こるかは空白になります。それはちょうどと言うべきですが、私は全く結果を得ていません。

私が探しているものを得るためにこの機能を変更するにはどうすればよいですか?

ありがとうございます!

答えて

6

trim()は両端で機能します。右端のみをトリミングするには、rtrim()を使用します。ストリングの両方端の

2
function clean_num($num){ 
    return rtrim(rtrim($num, '0'), '.'); 
} 

trim()ストリップ文字。代わりにrtrim()をお試しください:

function clean_num($num){ 
    return rtrim(rtrim($num, '0'), '.'); 
} 
2

シンプル(demo):

function clean_num($num){ 
    return round($num, 2); 
} 

または(demo):

function clean_num($num){ 
    return rtrim(rtrim($num, '0'), '.'); 
} 

あるいは(demo):

function clean_num($num){ 
    return preg_replace('~[.]0+$~', '', $num); 
} 
-2

小数点以下をすべて削除する場合:

function clean($n) { 
    return round($n); 
}