[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
- Precision error in double,
coolhuds <=