PHP高级货币格式
我想知道PHP中是否有一种简单的方法可以为以下任务正确设置货币格式: 如果值为:PHP高级货币格式,php,formatting,currency,Php,Formatting,Currency,我想知道PHP中是否有一种简单的方法可以为以下任务正确设置货币格式: 如果值为:4.37,则输出将为$4.37 如果值为:4.00,则输出将为$4 如果值为:4.3或4.30,则输出将为$4.30 如果值为0.37,则输出将为37 我相信这很复杂(我是PHP初学者),但如果有人有任何建议,我将不胜感激。function format\u currency($val){ function format_currency($val) { if ($val < 1) return int
4.37
,则输出将为$4.37
如果值为:4.00
,则输出将为$4
如果值为:4.3
或4.30
,则输出将为$4.30
如果值为0.37
,则输出将为37
我相信这很复杂(我是PHP初学者),但如果有人有任何建议,我将不胜感激。function format\u currency($val){
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);
如果($val<1)返回整数($val*100)),”;
if(fmod($val,1.0)==0)返回“$”.intval($val);
返回“$”.intval($val)。”.intval(四舍五入((fmod($val,1))*100));
}
//这样说吧
$val=1.2;
回显“您的总数:”。格式单位:货币($val);
虽然这个函数可以工作,但它通常是一个。我知道这可能有点过头了,但看看Zend_Currency
,它会处理许多不同类型的货币,而且使用起来也很简单。请注意,您不必使用整个框架,只需使用currency类及其所需的文件
嗨,phihag,你的函数看起来可以工作,但我尝试过使用代码,但屏幕上没有显示任何内容。我试过这样做:@TronCraze你必须实际调用它。添加echo格式_货币($val)。我更新了答案。使用内置的php函数
setlocale(LC_MONETARY,'en_US'),可以简化最后一行;money_格式('$%!n',$val)
执行完全相同的工作。