folks! I've encountered a little problem: I'm doing a simple addition with three double values. The result has a smaller precision than the used values.
double minutes = 3;
minutes = minutes / (24.0*60.0); // contains 0.00208333
double hours = 3;
hours = hours / 24.0; // contains 0.125
double days = 3; // contains 3
double age = days + hours + minutes; // result is 3.12708
I found no way to avoid this behaviour.
Nothing seems to be wrong with the calculation as what the comments on your post said.
If you'd like to see more precision consider looking up setprecision()
There is no problem. The significant figure of 0.00208333 and 3.12708 are both 6. This is a correct result.
Sometimes in order to get the value according to the desired precision we have to specify the limit of precision,here is my code which works fine ,hope it helps:
double minutes = 3;
minutes = minutes / (24.0*60.0);
double hours = 3;
hours = hours / 24.0;
double days = 3;
double age = days + hours + minutes;
printf("%.8f",age);//here i have included the places of precision (.8)