解析CSV文件时,如何将科学记数法转换为实数?
例如,我在列中有: 4,41431E + 13 我认为它的真正价值在于:44143100000000
我尝试过使用number_format,但它没有转换。
由于
答案 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,您会发现是这种情况。