From 045b283a7d014deb38e7f8763d3ad098efce2afd Mon Sep 17 00:00:00 2001 From: Ilia Alshanetsky Date: Mon, 4 Jun 2007 23:51:32 +0000 Subject: Fixed bug #41567 (json_encode() double conversion is inconsistent with PHP). --- ext/json/json.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'ext/json/json.c') diff --git a/ext/json/json.c b/ext/json/json.c index fefdf9601e..737421f5ac 100644 --- a/ext/json/json.c +++ b/ext/json/json.c @@ -354,7 +354,7 @@ static void json_encode_r(smart_str *buf, zval *val TSRMLS_DC) { double dbl = Z_DVAL_P(val); if (!zend_isinf(dbl) && !zend_isnan(dbl)) { - len = spprintf(&d, 0, "%.9g", dbl); + len = spprintf(&d, 0, "%.*g", (int) EG(precision), dbl); if (d) { if (dbl > LONG_MAX && !memchr(d, '.', len)) { smart_str_append_unsigned(buf, (unsigned long)Z_DVAL_P(val)); -- cgit v1.2.1