Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/237.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将从excel读取的科学编号转换为csv_Php_Excel_Csv - Fatal编程技术网

Php 将从excel读取的科学编号转换为csv

Php 将从excel读取的科学编号转换为csv,php,excel,csv,Php,Excel,Csv,我在阅读excel表格时遇到问题。我正在csv中获取科学格式的条形码值 如何解析原始值而不是科学数字 例如: 9,96E+12[excel格式] 996000000000[我想要CSV格式] 我使用php中的fgetcsv函数来解析csv文件 while (($row = fgetcsv($handle, 1000, ';')) !== FALSE) { if(!$header) $header = $row; else $data[] = arr

我在阅读excel表格时遇到问题。我正在csv中获取科学格式的条形码值

如何解析原始值而不是科学数字

例如: 9,96E+12[excel格式]

996000000000[我想要CSV格式]

我使用php中的fgetcsv函数来解析csv文件

while (($row = fgetcsv($handle, 1000, ';')) !== FALSE)
{
    if(!$header)
        $header = $row;
    else
        $data[] = array_combine($header, $row);
}
我得到的输出:

[0] => Array
    (
        [code] => FJT8-thr-thrtC2-VSXL
        [barcode] => 9960000000000
        [amount] => 70
        [status] => 1
    )
我希望输出为

[0] => Array
    (
        [code] => FJT8-thr-thrtC2-VSXL
        [barcode] => 9,96E+12
        [amount] => 70
        [status] => 1
    )
只要在PHP中使用数字之前将“,”转换为“.”,就可以使用and函数来回转换

<?php

$start = '9,96E+12';
$str = floatval(str_replace(',','.',$start)); 

// Proof of concept
echo $start."<br />"; // starting off with 9,96E+12
echo $str."<br />"; // Converted number is 9960000000000
echo sprintf('%.2e',$str); // back to scientific number 9.96e+12


?>


它们是否都是一致的X、XXE+YY格式?这篇文章可能有助于审查:@yanman1234无法回复上传excel工作表的用户。