From 36ef1c4749e15bd77fb5527c79ca81d8afde609c Mon Sep 17 00:00:00 2001 From: Calvin Rose Date: Sun, 1 Dec 2019 09:40:34 -0500 Subject: [PATCH] Print proper integers as integers. --- src/core/pp.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/core/pp.c b/src/core/pp.c index 2e39a04f..99493106 100644 --- a/src/core/pp.c +++ b/src/core/pp.c @@ -37,7 +37,8 @@ static void number_to_string_b(JanetBuffer *buffer, double x) { janet_buffer_ensure(buffer, buffer->count + BUFSIZE, 2); - int count = snprintf((char *) buffer->data + buffer->count, BUFSIZE, "%g", x); + const char *fmt = (x == floor(x) && x <= 2.0e53 && x >= -2.0e53) ? "%.0f" : "%g"; + int count = snprintf((char *) buffer->data + buffer->count, BUFSIZE, fmt, x); buffer->count += count; }