我正在尝试使用SoapClient函数将PHP数组解析为SOAP XML.我必须将一个十进制数解析为SOAP.我的PHP数组看起来像这样:
$contactparams = array(
"DECIMALVARIABLE"=>0.00
);
Run Code Online (Sandbox Code Playgroud)
执行SOAP调用时,我得到的错误是我应该使用带小数点后2位的十进制数.我猜它PHP函数将0.00转换为普通0.
抛出的错误示例:
致命错误:未捕获的SoapFault异常:[soap:Client]无效的数字2dp值(0)
当我使用0.01它工作得很好.
我已经尝试将其解析为字符串"0.00"和0.00.""
我也尝试过number_format函数来创建0.00,但结果相同.
如何解决这个谜题的任何想法将不胜感激.
经过几个小时的寻找解决方案后,我终于找到了一个狡猾的解决方案......
当输入值 0.001 时,SOAP 的函数会将其更改为正确的值 0.00
所以:
$contactparams = array(
"DECIMALVARIABLE"=>0.001
);
Run Code Online (Sandbox Code Playgroud)
给出:
DECIMALVALUE=0.00
Run Code Online (Sandbox Code Playgroud)
这不是一个干净的解决方案,但是一个有效的解决方案..
归档时间: |
|
查看次数: |
627 次 |
最近记录: |