php JSON 编码浮点数
php JSON encode float number
这似乎是一件简单的事情:我想编码:
echo json_encode(array('lol' => 104564563225.1));
给出:
{"lol":1.0e+11}
我要输出:
{"lol":104564563225.1}
如何实现?
一些更多的服务器数据以防万一:
PHP Version 5.6.0
System Windows NT XXXXXXXXXXXXXX 6.3 build 9200 (Windows Server 2012 R2
Standard Edition) i586
Build Date Aug 27 2014 11:49:46
Compiler MSVC11 (Visual C++ 2012)
Architecture x86
Configure Command cscript /nologo configure.js "--enable-snapshot- build" "--enable-debug-pack" "--disable-zts" "--disable-isapi" "--disable-nsapi" "--without-mssql" "--without-pdo-mssql" "--without-pi3web"
"--with-pdo-oci=c:\php-sdk\oracle\x86\instantclient_12_1\sdk,shared" "--with-oci8-12c=c:\php-sdk\oracle\x86\instantclient_12_1\sdk,shared" "--with-enchant=shared" "--enable-object-out-dir=../obj/" "--enable-com-dotnet=shared" "--with-mcrypt=static" "--without-analyzer" "--with-pgo"
Server API CGI/FastCGI
Virtual Directory Support disabled
Configuration File (php.ini) Path C:\Windows
Loaded Configuration File C:\Program Files (x86)\PHP\v5.6\php.ini
浮点数的字符串表示取决于 precision
configuration (see its documentation on php.ini
指令。
此外,echo(104564563225.1);
应显示与 json_encode()
生成的值相同的值。
默认情况下 precision
是 14
并且使用此值您的代码显示:
{"lol":104564563225.1}
可能它在您的系统上的值较低。
您可以使用 ini_get()
:
从脚本中获取其当前值
echo(ini_get('precision'));
您可以使用 ini_set()
:
更改它
ini_set('precision', '14');
当然,如果可以的话,在 php.ini
中搜索和更改它是另一种选择。
这似乎是一件简单的事情:我想编码:
echo json_encode(array('lol' => 104564563225.1));
给出:
{"lol":1.0e+11}
我要输出:
{"lol":104564563225.1}
如何实现? 一些更多的服务器数据以防万一:
PHP Version 5.6.0
System Windows NT XXXXXXXXXXXXXX 6.3 build 9200 (Windows Server 2012 R2
Standard Edition) i586
Build Date Aug 27 2014 11:49:46
Compiler MSVC11 (Visual C++ 2012)
Architecture x86
Configure Command cscript /nologo configure.js "--enable-snapshot- build" "--enable-debug-pack" "--disable-zts" "--disable-isapi" "--disable-nsapi" "--without-mssql" "--without-pdo-mssql" "--without-pi3web"
"--with-pdo-oci=c:\php-sdk\oracle\x86\instantclient_12_1\sdk,shared" "--with-oci8-12c=c:\php-sdk\oracle\x86\instantclient_12_1\sdk,shared" "--with-enchant=shared" "--enable-object-out-dir=../obj/" "--enable-com-dotnet=shared" "--with-mcrypt=static" "--without-analyzer" "--with-pgo"
Server API CGI/FastCGI
Virtual Directory Support disabled
Configuration File (php.ini) Path C:\Windows
Loaded Configuration File C:\Program Files (x86)\PHP\v5.6\php.ini
浮点数的字符串表示取决于 precision
configuration (see its documentation on php.ini
指令。
此外,echo(104564563225.1);
应显示与 json_encode()
生成的值相同的值。
默认情况下 precision
是 14
并且使用此值您的代码显示:
{"lol":104564563225.1}
可能它在您的系统上的值较低。
您可以使用 ini_get()
:
echo(ini_get('precision'));
您可以使用 ini_set()
:
ini_set('precision', '14');
当然,如果可以的话,在 php.ini
中搜索和更改它是另一种选择。