# HG changeset patch # User Igor Sysoev # Date 1273669991 0 # Node ID 76fc7ad463cb84b741a7acce804e29cdfa81fac0 # Parent c3fa65192119990bcfd62dc73ddb5042561321c4 fix rounding issues in %f format diff --git a/src/core/ngx_string.c b/src/core/ngx_string.c --- a/src/core/ngx_string.c +++ b/src/core/ngx_string.c @@ -386,7 +386,7 @@ ngx_vslprintf(u_char *buf, u_char *last, * (int64_t) cast is required for msvc6: * it can not convert uint64_t to double */ - ui64 = (uint64_t) ((f - (int64_t) ui64) * scale); + ui64 = (uint64_t) ((f - (int64_t) ui64) * scale + 0.5); buf = ngx_sprintf_num(buf, last, ui64, '0', 0, frac_width); }