2017-09-24 89 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