2017-09-24 42 views
0

他們可以指出我的錯誤,試圖解析付款的PayPal sdk的金額,但是收到此錯誤「未捕獲的異常'InvalidArgumentException'與消息'小計不是有效的數字值「」格式化數值在PHP PayPal支付

$pay_amount = $_GET['qtn']; 
    $pay_amount= number_format((float)$pay_amount, 2, '.', ''); 

    //Payer 
    $payer->setPaymentMethod('paypal'); 

    $details->setShipping('0.00') 
      ->setTax('5.00') 
      ->setSubtotal($pay_amount); 
+0

http://php.net/manual/en/function.number-format.php數字格式返回一個字符串,編輯; https://3v4l.org/lg5D2 – Andreas

+0

爲什麼你需要兩位小數的任何特定原因? – Andreas

+0

所以如何讓它解析爲setSubTotal作爲參數時有效? –

回答

0

數字格式用於格式化的數爲輸出
當你仍然需要對它們進行數學運算時,你不需要格式化數字,PHP將處理這些數字。

請看這裏;

$pay_amount = 3.5+1.3; 
Var_dump($pay_amount); // float 4.8 

$pay_amount = 3+1; 
Var_dump($pay_amount); // int 4 

https://3v4l.org/JBF88