0

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 の小数部分が何らかの理由で取得されていないことを他のすべての入力から調査すると、この違いの理由がわかりました。

可能性は見出せませんでした。

4

1 に答える 1

0

XML からの値はドット付きで 2.50 と表示されますが、2.50 ではないかと疑っていました。

$amount = str_replace(',', '.', $amount);だから私は問題が解決されたコードを追加しました。

于 2013-10-05T22:55:09.243 に答える