smarty中的数字格式

时间:2012-07-12 09:13:33

标签: php smarty number-formatting

如何在smarty

中显示我的价格(200000 into 2 Lacs, 20000000 => 2 Crore)作为十进制值

我将价格值存储为

200000
350000
2000000
20000000
在MySQL中

现在我需要将此值显示为

2/2.00 Lacs 
3.5 lacs 
20/20.00 lacs
2/2.00 crore

可能重复的问题是here

感谢。

2 个答案:

答案 0 :(得分:2)

我同意Rob Agar。

我不确定你的数字,但对于自定义修饰符这样的东西是一个起点

function smarty_modifier_indian_currency($price)
{
    if($price>100000)
    {
        $lacs=$price/100000;
        // lacs

        if($lacs<100) return $lacs.' lacs';

        $crore=floor($lacs/100);
        $lacs=$lacs-($crore*100);

        if($lacs==0) return $crore.' crore';
        return $crore.'/'.$lacs.' crore';

    }
    return $price;
}

答案 1 :(得分:1)

棘手的一点是处理印度货币格式,this question中介绍了这种格式。之后,可以直接添加custom Smarty modifier,以便在模板中编写类似的内容:

{$amount|format_indian_currency}