From c3eb6a173e5076a19ad1cf03653b8cc6b610e2c5 Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Fri, 23 Mar 2018 13:47:58 +0000 Subject: [Fix] Add rounding when printing a lot of FP variables --- src/libutil/str_util.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'src/libutil') diff --git a/src/libutil/str_util.c b/src/libutil/str_util.c index 570f9a948..8026ea7e5 100644 --- a/src/libutil/str_util.c +++ b/src/libutil/str_util.c @@ -1910,16 +1910,14 @@ static int rspamd_fstring_emit_append_double (double val, void *ud) { rspamd_fstring_t **buf = ud; - const double delta = 0.0000001; +#define MAX_PRECISION 6 if (isfinite (val)) { if (val == (double) ((gint) val)) { rspamd_printf_fstring (buf, "%.1f", val); - } else if (fabs (val - (double) (int) val) < delta) { - /* Write at maximum precision */ - rspamd_printf_fstring (buf, "%.*g", DBL_DIG, val); } else { - rspamd_printf_fstring (buf, "%f", val); + rspamd_printf_fstring (buf, "%." G_STRINGIFY (MAX_PRECISION) "f", + val); } } else { -- cgit v1.2.3