我想知道PHP中是否有一种简单的方法可以正确格式化货币以执行以下任务:
如果值为:4.37
,则输出将为$4.37
如果值为:4.00
,则输出将为$4
如果值为:4.3
或4.30
,则输出为$4.30
如果值为0.37
,则输出为37¢
我确信这样做很复杂(我是PHP的初学者),但如果有人有任何建议,我们将不胜感激。
答案 0 :(得分:1)
function format_currency($val) {
if ($val < 1) return intval(round($val * 100)) . '¢';
if (fmod($val, 1.0) == 0) return '$' . intval($val);
return '$' . intval($val) . '.' . intval(round((fmod($val,1))*100));
}
// Call it like this
$val = 1.2;
echo 'Your total: ' . format_currency($val);
虽然此功能可行,但通常为bad idea to encode dollar amounts in a float。
答案 1 :(得分:0)
我知道这可能有点矫枉过正,但看看Zend_Currency
,它会为此处理许多不同类型的货币,它也很简单易用。请注意,您不必使用整个框架,只需使用货币类及其所需的文件