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>
