在php中将double转换为字符串

时间:2012-07-07 17:49:38

标签: php

我有一个简单的问题。

我有这个7310093341976450848号码,我需要回应。但是当我回应时,它给了我7.3100933419765E+18

我尝试

echo(string)$ data;
将其强制转换为字符串,然后将其打印出来,但它仍然会给出相同的结果。

该号码最初为double类型。

2 个答案:

答案 0 :(得分:5)

I've this 7310093341976450848 number which I needed to echo.
The number is initially of type double.

由于PHP中使用的floating point representation,一旦将其存储为双精度数,您将无法打印出该确切的数字。

这是打印出价值的(多种)方法之一:

printf("%.0f", $data);
echo number_format($data, 0, '', '');

如果您不想丢失精度,请将其存储为字符串,或使用任意精度库之一:BC Math / GMP

答案 1 :(得分:0)

使用number_format()。方法如下:

echo number_format( $data, 0, '', '' );