1

我有一个从 XLS 文件移植的数据库。我的号码是这种形式

3.41002E+13  

但可读的形式应该是:34100224263318

如何将第一种形式转换为第二种形式?

4

4 回答 4

5

使用number_format()

string number_format (float $number, int $decimals = 0, string $dec_point = '.', string $thousands_sep = ',' )

默认情况下,千位由 分隔,,这就是您需要传递所有四个参数的原因:

number_format(3.41002E+13, 0, ".", "");
34100200000000

正如你所看到的,你还有一个额外的问题:你失去了精确度——至少在某种程度上:它从一开始就不存在。

于 2012-07-24T13:34:21.913 回答
3

你需要使用number_format,看看这里

于 2012-07-24T13:33:01.507 回答
1

3.41002E+13 == 3.41002*10^13 == 3.41002 * 100000000000000

它只是一个浮点类型。如果你想实现这一点,你需要使用 number_format();

number_format(3.41002E+13) == 34100224263318

如果您使用 phant0m 评论

number_format(1.11E-2) == 0,00111

但是对于整数,如果你想要一个点就可以了

number_format(1.11E-2, 5, '.', '') == 0.00111
于 2012-07-24T13:35:14.297 回答
1

您将永远无法获得确切的数字(例如 34100224263318) “Ex”代表 10^x,它用于具有很多数字的数字,作为实际数字的近似值。number_format 是您可以用来获得标准人类可读数字版本的近似值(Ex 也是可读的,但无论如何)。

于 2012-07-24T13:40:13.677 回答