首页 > 解决方案 > 在php数组中将科学记数法更改为十进制

问题描述

我使用 file_get_contents() 获取 csv 数据并分解以创建一个数组

我有数组

我的代码

<?php

    $csvcontent = file_get_contents($url);
    $csv_array = explode($lineseparator,$csvcontent); 
    $csv_array = array_filter($csv_array);

?>

我有数组

 Array ( [0] => 2018-06-03,4477651688.19,163280,1.30288e+11,7632.09,4851760000.0,2037.5,15.3074038,531463,4.30694957398e+12,285966,246.271822195,1.356e-05,
         [1] => 2018-06-04,7925996820.24,209733,1.31847e+11,7722.53,4993170000.0,2287.5,20.71075272,702904,4.30694957398e+12,341314,310.568030875,1.373e-05,
         [2] => 2018-06-05,5821973644.02,212726,1.28081e+11,7500.9,4961740000.0,2187.5,18.52827963,655694,4.41559334167e+12,348466,305.3316354,1.531e-05
 )

如何在php数组中将科学记数法更改为十进制

csv 中的原始数字是 0.00001356 。虽然我开始使用 file_get_contents() 。我得到了 1.356e-05。当我使用 (float) $num 或 ($num + 0) 时,它给出了 1.356E-05。我需要完整的数字 0.00001356

标签: php

解决方案


首先,您需要拆分字符串并获取科学数字。然后就可以转换了。

PHP 是动态类型的。尝试从值中减去零。它将为您转换数据类型。

$val = '1.30288e+11';
$result = $val - 0;

echo "String: $val Number: $result";

你会得到输出

String: 1.30288e+11 Number: 130288000000

推荐阅读