Always ensure a trailing .0 when a printed flonum has neither a decimal nor e.

This commit is contained in:
Alex Shinn 2014-01-19 12:36:59 +09:00
parent ce7d8505f8
commit 4ade4f7d2a

2
sexp.c
View file

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