将金钱串加在一起并获得总额

时间:2016-03-17 15:48:29

标签: php

我刚刚为我的websitye编了一个篮子/购物车系统,但我很难获得购物篮中物品的总成本?我有每个项目的价格(我循环中的循环篮子项目)这里的主要问题是如何将金钱字符串加在一起并获得有效的金钱字符串总金额如下...

£4.56 + £2.35 + £3.00 =£9.91

£2.83 + £19.83 + £22 =£44.66(我认为)

2 个答案:

答案 0 :(得分:0)

你需要从每个项目中删除'£',然后将其转换为整数然后你创建一个名为sum的变量,并在循环中将每个元素添加到总和中,你就是算法:

 int sum = 0;
   for_each (item i in basket)
    {
        string tmp = i.get_price() ; // get_price returns "£x" string
         sum += to_integer(tmp.sub_str(1,tmp.length()-1)); 
   /* copy from the pos 1 to the end ignoring the '£'*/
    }

然后sum变量包含你想要的东西:D

答案 1 :(得分:0)

使用数字格式化程序:

$f = new NumberFormatter("en-GB",NumberFormatter::CURRENCY); //Make sure you use the correct locale
$total = 0;
foreach ($arrayOfCurrencies as $number) {
   $c = $p = null;
    $total += $f->parseCurrency($number, $c, $p);
}
return $f->formatCurrency($total,$c);

当有内置的方法时,请不要使用substring这样的内容。