Php 是否将此数字转换为人类可读的形式?

Php 是否将此数字转换为人类可读的形式?,php,numbers,Php,Numbers,我有一个从XLS文件移植的数据库。我的号码在这张表格里 3.41002E+13 但可读形式应为:34100224263318 如何将第一种格式转换为第二种格式?您需要使用数字格式,签出您需要使用数字格式,签出使用 字符串数字格式(浮点$number,整数$decimals=0,字符串$dec_point=','字符串$数千_sep=',') 默认情况下,千由,分隔,这就是您需要传递所有四个参数的原因: number_format(3.41002E+13, 0, ".", ""); 3410

我有一个从XLS文件移植的数据库。我的号码在这张表格里

3.41002E+13  
但可读形式应为:
34100224263318


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

您需要使用
数字格式
,签出您需要使用
数字格式
,签出使用

字符串数字格式(浮点$number,整数$decimals=0,字符串$dec_point=','字符串$数千_sep=',')

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

number_format(3.41002E+13, 0, ".", "");
34100200000000
正如您所看到的,您还有一个问题:您失去了精度-至少有点:它从一开始就不存在。

使用

字符串数字格式(浮点$number,整数$decimals=0,字符串$dec_point=','字符串$数千_sep=',')

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

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

如您所见,您还有一个问题:您失去了精度-至少有点:它从一开始就不存在。

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

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

正如Phantom所评论的,如果您使用

number_format(1.11E-2) == 0,00111
但是对于整数,如果你想要一个点,就可以使用它

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

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

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

正如Phantom所评论的,如果您使用

number_format(1.11E-2) == 0,00111
但是对于整数,如果你想要一个点,就可以使用它

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

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

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

不可能,我们无法预测24263318部分。您能详细说明一下吗?当你说“我的数字在此表格中…”时,excel表格中是这样显示的吗?或者是E+NN表格是如何在数据库中显示的?你是如何从excel表格中读取到DB的?我想你必须添加一个excel标签,看看是否可以修改导出。你显示的数字是
3.41002000000000
不可能,我们无法预测24263318部分。你能详细说明一下吗?当你说“我的数字在此表格中…”时,excel表格中是这样显示的吗?或者是E+NN表格是如何在数据库中显示的?您是如何从excel工作表读取到DB的?我想您必须添加一个excel标记,看看是否可以修改导出。您显示的数字是
3.41002000000000
您缺少附加参数。@phant0m输出将与默认设置相同,即英语符号12212,11您缺少附加参数参数。@phant0m输出将与默认设置相同,默认设置为英文符号12212,11php>echo number_格式(3.41002E+13,0,“,”;-><代码>3410020000000php>echo number_格式(3.41002E+13,0,“.”,”;-><代码>3410020000000