PHP 科学计数法转小数正常数值

复制代码
/**
 * @param $num         科学计数法字符串
 * @param int $double 小数点保留位数 默认10位
 * @return string
*/
function sctonum($num, $double = 10){
    if(stripos($num, "e") !== false){
        $a   = explode('e', strtolower($num));
        $str =  bcmul($a[0], bcpow(10, $a[1], $double), $double);
        $num =  rtrim(rtrim($str, '0'), '.');   //去除小数后多余的0
    }
    return $num;
}
复制代码

 

使用示例:

复制代码
 $obj = '{"id":130126199,"str":0.0000852}';
 $arr = json_decode($obj, TRUE);
 foreach ($arr as $key => $val) {
      // $arr[$key] = number_format($val, 0, '', '');
      $arr[$key] = $this->sctonum($val);
 }
 var_dump($arr);

//输出
array(2) {
  ["id"]=>
  int(130126199)
  ["str"]=>
  string(9) "0.0000852"
}
复制代码

 

posted @   雨过了天晴  阅读(694)  评论(1编辑  收藏  举报
编辑推荐:
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
阅读排行:
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
点击右上角即可分享
微信分享提示