我有一个从 XLS 文件移植的数据库。我的号码是这种形式
3.41002E+13
但可读的形式应该是:34100224263318
如何将第一种形式转换为第二种形式?
string number_format (float $number, int $decimals = 0, string $dec_point = '.', string $thousands_sep = ',' )
默认情况下,千位由 分隔,
,这就是您需要传递所有四个参数的原因:
number_format(3.41002E+13, 0, ".", "");
34100200000000
正如你所看到的,你还有一个额外的问题:你失去了精确度——至少在某种程度上:它从一开始就不存在。
你需要使用number_format
,看看这里
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
您将永远无法获得确切的数字(例如 34100224263318) “Ex”代表 10^x,它用于具有很多数字的数字,作为实际数字的近似值。number_format 是您可以用来获得标准人类可读数字版本的近似值(Ex 也是可读的,但无论如何)。