Как лучше всего разделить double на две части «целое число и дробь» в java

Я попытался разделить 5.6 (например) следующим методом:

private static double[] method(double d)
{
    int integerPart = 0;
    double fractionPart = 0.0;
    integerPart = (int) d;
    fractionPart = d - integerPart;
    return new double[]{integerPart, fractionPart};
}

Но я получил следующее:

[0] = 5.0
[1] = 0.5999999999999996

Есть ли у вас какие-нибудь предложения, как сделать это без преобразования числа в строку?

12
задан DarkAjax 11 March 2013 в 22:39
поделиться