using 16 decimal places of precision in number->string (issue #433)

This commit is contained in:
Alex Shinn 2017-08-20 15:00:24 +09:00
parent 7114148121
commit 8470534c39

2
sexp.c
View file

@ -1913,7 +1913,7 @@ sexp sexp_write_one (sexp ctx, sexp obj, sexp out) {
} else } else
#endif #endif
{ {
i = snprintf(numbuf, NUMBUF_LEN, "%.15g", f); i = snprintf(numbuf, NUMBUF_LEN, "%.16g", f);
if (!strchr(numbuf, '.') && !strchr(numbuf, 'e')) { if (!strchr(numbuf, '.') && !strchr(numbuf, 'e')) {
numbuf[i++] = '.'; numbuf[i++] = '0'; numbuf[i++] = '\0'; numbuf[i++] = '.'; numbuf[i++] = '0'; numbuf[i++] = '\0';
} }