将此数字转换为可读形式


Converting this number to human readable form?

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

3.41002E+13  

但可读形式应该是:34100224263318

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

使用number_format()

stringnumber_format(float$number,int$decimals=0,string$dec_point='.',string$千and_sep=',')

默认情况下,数千个由,分隔,这就是为什么您需要传递所有四个参数:

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

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

您需要使用number_format,请在此处查看

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

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

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

number_format(3.41002E+13) == 34100224263318

如phant0m所评论的,如果你使用

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

但对于整数,如果你想要一个点,只需使用就可以了

number_format(1.11E-2, 5, '.', '') == 0.00111