php json_decode 后,数字对象转换成了 科学计数法 的解决方案

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
)
时间: 2024-11-05 17:19:04

php json_decode 后,数字对象转换成了 科学计数法 的解决方案的相关文章

Java jxl导入excel文件,导入的数字、身份证号码、手机号变成了科学计数法,解决方案

原文出自:https://blog.csdn.net/seesun2012 这是一个execl文件导入数据库操作,使用jxl解析execl导入数据库过程出现了科学计数法,与想要导入的数据不匹配,以下是案例以及解决方案: 导入成功后示例: 1.手机号:15388886666 科学计数法:1.54E+10 2.数字:123456789000000 科学计数法:1.23E+14 3.身份证:432222198808083789 科学计数法:4.32E+17 解决思路: 1.判断是否为数字类型(NUMB

java中科学计数法数字转字符串

开发过程中有可能会遇到很小的数字,在显示过程中就转换成了科学计数法,这种不利于人的观看,于是就有必要转成字符串形式的.so. 将科学计数法的数字转换成字符串: 使用的是java.math的BigDecimal: BigDecimal bd = new BigDecimal("1.1920928955078125e-7"); String str = bd.toPlainString(); 显示结果: 0.00000011920928955078125 亲测好使..

PHP科学计数法转换成数字

/** * 科学计数法转换成数字 * @param $num * @param int $double * @return int */ function sctonum($num, $double = 5){ if (false !== stripos((string)$num, "E")) { $a = explode("e", strtolower((string)$num)); $b=bcmul($a[0], bcpow((string)10, (strin

科学计数法转换成正常数值

1.字符串值中包含E等科学计数法,比如12E-2,需要进行转化为普通数值0.12, 2.转化函数如下: private Decimal ChangeDataToD(string strData)        {            Decimal dData = 0.0M;            if (strData.Contains("E"))            {                dData = Convert.ToDecimal(Decimal.Parse

php基础:查询程序运行时间并且把科学计数法转换成正常数字

$a = microtime(true);echo 'sdfsdfsdf';$b = microtime(true);$c = $b-$a;echo "<br/>";echo $c;//输出为5.0067901611328E-6echo "<br/>"; /*** @param $num   科学计数法字符串  如 2.1E-5*@param int $double 小数点保留位数 默认5位* @return string 输出为字符串型数字

double转成string时,不以科学计数法表示

用gson解析json串的时候,经常会自动把我想用string表示的内容转换成double,并且还是科学计数法,这一点也不科学,写个方法,格式化一下. public static String parseString(Object str){ String returnValue = ""; try { returnValue = new BigDecimal(String.valueOf(str)).toString(); if(StringUtils.endsWith(return

js 科学计数法 转换为 数字字符 突破幂数正数21位,负数7位的自动转换限制

前天工作中要转换后台返回的一个数据,返回是的科学计算的数字字符,用网上能搜索到的常用两种方法转换会有倍数的限制,然后又搜索了很久,还是没有找到好的方法,虽然也有一些自己写的方法,可还是不能像下面两种方法一样能正常转换各种正负科学计数,且突破幂数正数21位,负数7位的自动转换限制.所以对比了下,花一下午修改测试,基本通用了,只是传入的参数必须为字符串的科学计数. var num = new Number('3.54545E-3'); // 3.54545e-7var sBalance = pars

JAVA中科学计数法转换普通计数法

今天发现数据库里汇总的数据有点大,一输出就被自动转化成科学计数法了.后来发现是转换字符串的方法有问题.如下: String a = "11234567.89"; BigDecimal db = new BigDecimal(a); System.out.println("科学计数:" + db.toString()); System.out.println("普通计数:" + db.toPlainString()); 输出: 科学计数:1.123

科学计数法转发成浮点数表示

private Double scientDouble; public Double getScientDouble() { return scientDouble; } public void setScientDouble(Double scientDouble) { this.scientDouble = scientDouble; } /** * @description:给Double类型赋值过大,或者过小时产生科学计数法. * 把科学计数法转换成浮点数表示 * @author: *