Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 16 Jan 2003 16:47:32 -0500
From:      Ugen <ugen@xonix.com>
To:        freebsd-questions@FreeBSD.ORG
Subject:   printf prints  WRONG double precision values
Message-ID:  <3E272874.8060706@xonix.com>

next in thread | raw e-mail | index | archive | help
Try this:

#include <stdio.h>
int main()
{
double pi = 3.14159265358979323846 ;

         printf("%20.19f\n", pi);
}

and here is what you get:
host: [16:45] [127] /tmp>./test
3.1415926535897931160

  The error in last 4 or digits is obvious. It seems
that the culprit is __dtoa which incorrectly turns
double precision numbers into strings.
This is on FreeBSD 4.3 release..

Ideas?
--Ugen


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3E272874.8060706>