help-gplusplus
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Precision error in double


From: coolhuds
Subject: Precision error in double
Date: Wed, 7 Aug 2013 04:38:45 -0700 (PDT)
User-agent: G2/1.0

Hi,

A large double value gets changed when printed with %Lf
Values upto the following combination gives proper results
9 digits before decimal / 6 digits after decimal
e.g. of a value with 9 digits before decimal printed with %Lf
Input : 3435537287.32
Output : 3435537287.320000

Once I increase the digits before decimal to 10, the values printed with %Lf 
adds garbage value.
e.g. of a value with 10 digits before decimal printed with %Lf
Input : 34355372871.3487
Output : 34355372871.348701
As you can see from the above output the input value is changed.

Is there any compile time option for g++ that can be used so that the value 
is'nt changed?

::Code Snippet::
double d2 =  34355372871.3487;
double d4 =  3435537287.3487;

printf("d2 = %lf\n", d2);
printf("d4 = %lf\n", d4);


Thanks,
Hudson


reply via email to

[Prev in Thread] Current Thread [Next in Thread]