I am working c++ project where I am getting double value as string and need to convert that value to type double and then compare the same to some double value . I am pasting the code snippet below which has the same issue -
int main()
{
string doubleValueInString= "+1.00000000E-07";
double valueInDouble = stod(doubleValueInString);
double e = 1.000000000000e-9;
double valueInEngineeeringNot = 100*e;
if(valueInDouble ==valueInEngineeeringNot)
{
int i = 0; // should come here
}
}
Actually in above code my if loop should be executed but control is not getting inside if loops since "valueInDouble" and "valueInEngineeringNot" are not equal. ValueInDouble = 9.9999999999999995e-08 ValueInEngineeringNot =1.0000000000000001e-07
Does c++ have any better way to deal with double or am I doing something wrong ?