2013-10-05 40 views
0

我有一個API的乘法代碼。在php中不包含的十進制數的部分部分

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; 
      } 
     } 

輸入示例; 0.6

  • $量已經從XML檢索爲應該被計算爲1.50 2.50
  • $佣金

    • $零售商[ 'COEF']已被輸入。然而,它被打印爲1.20

      我發現這種差異的原因,當從所有其他投入調查時,$金額的小數部分由於某些原因未被採用。

      我找不出任何可能性。

    回答

    0

    雖然來自XML的值被認爲是2.50的點,但我懷疑它們可能是2.50。

    所以我加了代碼$amount = str_replace(',', '.', $amount);問題解決了。