php - 在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 是动态类型的。尝试从值中减去零。它将为您转换数据类型。
$val = '1.30288e+11';
$result = $val - 0;
echo "String: $val Number: $result";
你会得到输出
String: 1.30288e+11 Number: 130288000000
推荐阅读
- windows - 要求用户在 cmd 中输入值而不是从不同的文件中获取
- python - 使用 docker 部署时,Flask CLI 抛出“[Errno 2] No such file”
- dns - DNS 将主机名分派到多个 ip
- mysql - 向已经 HASH 分区的表添加额外的 HASH 分区
- php - 多个表,其中只有 2 个
- java - ofbiz框架中的数据库连接问题
- wso2 - WSO2 加密主 LDAP 用户存储凭据
- sql - 如何在 oracle apex 中实现 APP_USER 变量
- c - 遍历缓冲区设计问题
- angular - 如何在 debounceTime 中调用函数