将csv数字格式转换为实数

时间:2017-03-17 19:19:18

标签: php csv

解析CSV文件时,如何将科学记数法转换为实数?

例如,我在列中有: 4,41431E + 13 我认为它的真正价值在于:44143100000000

我尝试过使用number_format,但它没有转换。

由于

2 个答案:

答案 0 :(得分:3)

主要问题是示例中显示的科学记数法使用逗号作为小数分隔符,因此您首先必须将语言环境切换为使用逗号的语言环境(我在示例中使用法语)

<?php
// switch the locale to one using , as decimal separator
setlocale(LC_NUMERIC, 'fr_FR');
// intermediate step via float as intval doesn't seem to like the comma
$big_float = floatval("4,41431E+13");
// and finally to integer
$big_integer = intval($big_float);

现在$ big_integer将正确包含整数值44143100000000

答案 1 :(得分:-2)

已经太晚了。 Excel已经搞砸了格式化。如果您在记事本中查看CSV,您会发现是这种情况。