博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
php 解决返回数据 数字 变成科学计数法后转换问题
阅读量:4708 次
发布时间:2019-06-10

本文共 934 字,大约阅读时间需要 3 分钟。

链接 https://blog.csdn.net/liuxin_0725/article/details/81514961

  1. 问题 id int型 数字过长,json_decode的时候已经转成科学计数了 通过格式化后 数字已经变了
  2.  
    $obj='{"order_id":20180110000000001}';
  3.  
    $obj=json_decode($obj,TRUE);
  4.  
    foreach ($obj as $key=>$val){
  5.  
    $obj[$key]=number_format($val.'',0,'','');
  6.  
     
  7.  
    }
  8.  
    print_r($obj); 结果 Array ( [order_id] => 20180110000000000 )
  1.  
    问题 id 字符串型 数字过长,json_decode的时候已经转成科学计数了 通过格式化后 数字已经变了
  2.  
    $obj='{"order_id":"20180110000000001"}';
  3.  
    $obj=json_decode($obj,TRUE);
  4.  
    foreach ($obj as $key=>$val){
  5.  
    $obj[$key]=number_format($val.'',0,'','');
  6.  
    }
  7.  
    print_r($obj); 结果 Array ( [order_id] => 20180110000000000 )

解决方案 id 传过来必须是 字符串型 通过几次函数操作即可

    1.  
      $obj='{"order_id":"20180110000000001"}';
    2.  
      $obj=json_decode($obj,TRUE);
    3.  
      foreach ($obj as $key=>$val){
    4.  
      if ((is_numeric($val))&&(strpos($val,'.')))
    5.  
      {
    6.  
      $obj[$key] = rtrim(rtrim(number_format($val,12,',',''),'0'),',');
    7.  
      }
    8.  
      }
    9.  
      print_r($obj); Array ( [order_id] => 20180110000000001 )

转载于:https://www.cnblogs.com/songyanan/p/9647217.html

你可能感兴趣的文章
使用rsync同步目录
查看>>
[读码时间] for循环遍历设置所有DIV块元素背景色为红色
查看>>
你会用AngularJS,但你会写AngularJS文档么?
查看>>
ORACLE清除某一字段重复的数据(选取重复数据中另一个字段时期最大值)
查看>>
网页调用迅雷下载文件
查看>>
Python 调用 Shell命令
查看>>
POJ 1159 Palindrome(最长公共子序列)
查看>>
ORM多表操作之多对多查询
查看>>
Oracle管理监控之sql developer配置与简单使用
查看>>
ubuntu下安装fcitx五笔输入法
查看>>
PAT 1001. A+B Format (20)
查看>>
Postman—测试脚本
查看>>
默认构造方法的显示呈现
查看>>
2012/11/14第一次真正加入博客园
查看>>
laravel页面间的传值
查看>>
SoapUI登录测试(2)-- 断言
查看>>
ORM是什么?
查看>>
冒泡排序---程序员必经之路
查看>>
jenkins构建执行shell 所有命令出现command not found
查看>>
Nginx的HTTPS 301重定向到另一个TLD(托管在同一服务器上)没有显示出SSL警告
查看>>