如何处理php使用json_decode后数字对象转换成科学计数法的问题?
如何处理php使用json_decode后数字对象转换成科学计数法的问题?
本文实例讲述了php使用json_decode后数字对象转换成了科学计数法的解决方法。分享给大家供大家参考,具体如下:
问题:
今天在搞网页游戏在facebook积分上的对接,facebook传过来一个类json字符串,想在callball.php页面当中应用这些参数,于是进行了一次json_decode操作,发现长长的数字都变成了科学计数法,这不是我想要的结果。
解决方法:
做了各方面的转换处理都不好使:
$obj='{"order_id":213477815351175,"buyer":100001169269154}'; $obj=$this->json_decode($obj,TRUE); print_r($obj);
结果:
Array ( [order_id] => 2.1347781535118E+14 [buyer] => 1.0000116926915E+14 )
最后使用 php自带函数 number_format(),问题得到解决,效果如下:
$obj='{"order_id":213477815351175,"buyer":100001169269154}'; $obj=$this->json_decode($obj,TRUE); foreach ($obj as $key=>$val){ $obj[$key]=number_format($val,0,'',''); } print_r($obj);
结果:
Array ( [order_id] => 213477815351175 [buyer] => 100001169269154 )
PS:这里再为大家推荐几款比较实用的json在线工具供大家参考使用:
在线JSON代码检验、检验、美化、格式化工具:
http://tools.jb51.net/code/json
JSON在线格式化工具:
http://tools.jb51.net/code/jsonformat
在线XML/JSON互相转换工具:
http://tools.jb51.net/code/xmljson
json代码在线格式化/美化/压缩/编辑/转换工具:
http://tools.jb51.net/code/jsoncodeformat
C语言风格/HTML/CSS/json代码格式化美化工具:
http://tools.jb51.net/code/ccode_html_css_json
希望本文所述对大家PHP程序设计有所帮助。