Double out of range when compaing within an if statement
<p>The following code gives strange results when trying to save a score (It's adding on massive value as if the if statement is failing).</p>

<pre><code>double EndScore = (double)(mScoreManager.getScore());

    if(mWorldCounterBox.getCurrentAlivePopulationPercent() &lt; 97.0)
    {
        EndScore += (mWorldCounterBox.getCurrentAlivePopulationPercent()) * 100.00;
    }

    System.out.println(mWorldCounterBox.getCurrentAlivePopulationPercent()); //Output: 1.0544652507298142E-7
    System.out.println(EndScore); //Output: 1.0000105446525074

    //Increase score per dead %.
    if(mWorldCounterBox.getCurrentAlivePopulationPercent() &lt; 0.1)
    {
        EndScore += 20000.0;
    }
    System.out.println(EndScore); //Outout 20001.000010544652 -- WRONG HERE
    SettingsSaveLoad.setCountryScore(mCurrentWorld, (float)(EndScore));
</code></pre>
