From 9282a443a1b6061415bb480b371a70b02934ef0d Mon Sep 17 00:00:00 2001 From: Hartmut Birr Date: Fri, 25 Apr 2003 17:49:07 +0000 Subject: [PATCH] - Fixed a rounding bug within the translation from float values to printable wstrings. svn path=/trunk/; revision=4577 --- reactos/lib/msvcrt/stdio/vfwprint.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/reactos/lib/msvcrt/stdio/vfwprint.c b/reactos/lib/msvcrt/stdio/vfwprint.c index bb2af012248..ff7099939e9 100644 --- a/reactos/lib/msvcrt/stdio/vfwprint.c +++ b/reactos/lib/msvcrt/stdio/vfwprint.c @@ -313,10 +313,11 @@ static int numberf(FILE * f, double __n, wchar_t exp_sign, int size, int precis } else { while ( intr > 0.0 ) { - intr/=10.0L; - p = modf(intr, &intr); + p = intr; + intr/=10.0L; + modf(intr, &intr); - p *=10; + p -= 10.0*intr; buf[i++] = (int)p + L'0'; size--; @@ -515,10 +516,11 @@ static int numberfl(FILE * f, long double __n, wchar_t exp_sign, int size, int } else { while ( intr > 0.0 ) { + p = intr; intr/=10.0L; - p = modfl(intr, &intr); + modfl(intr, &intr); - p *=10; + p -=10.0*intr; buf[i++] = (int)p + L'0'; size--;