分数部分的十进制数不包括在PHP中的乘法

时间:2013-10-05 21:10:15

标签: numbers multiplication

我有API的乘法代码。

foreach($cXML->results->row as $sale)
        {
            $subId      = $sale->subid;
            $status     = $sale->status;
            $transId    = "ad".$sale->OrderID;
            $amount     = $sale->total_commission;
            $createdDate= $sale->date;
            $subIdExplode = explode('-', $subId);
            $userId     = $subIdExplode[0];
            $retailerId = $subIdExplode[1];
            $retailerQuery = mysql_query("select * from db_retailers where retailer_id = '".$retailerId."'");
            $retailer = mysql_fetch_array($retailerQuery);

            if(trim($retailer['member_top']) != "")
            {
                $commision = $retailer['coef']*$amount;
            }
        }

输入示例;

  • $ retailer ['coef']输入为0.6
  • $ amount已从XML检索为2.50

$ commision应计算为1.50。但是,它打印为1.20

我从所有其他输入调查中发现了这种差异的原因,因为某些原因没有采取$ amount的分数部分。

我无法找出任何可能性。

1 个答案:

答案 0 :(得分:0)

尽管来自XML的值被视为带点的2.50,但我怀疑它们可能是2,50。

所以我添加了代码$amount = str_replace(',', '.', $amount);,问题解决了。