Если вы хотите получить значение для целей тестирования, может подойти Double.toString (double).
Если вам нужно более читаемое число (например, 1,01 вместо 1,01000000000587732), вы можете использовать DecimalFormat (http://docs.oracle.com/javase/6/docs/api/java/text/DecimalFormat.html) или BigDecimal:
BigDecimal bd = BigDecimal.valueOf(double)
BigDecimal bd2 = bd.setScale(6, RoundingMode.HALF_UP); // six decimal
String out = bd2.toString();
String out2 = bd2.toPlainString();
Редактировать: после редактирования пользователем, я думаю, что правильный подход будет:
DecimalFormat df = new DecimalFormat("0.00");
System.out.println(df.format(1.03 - .42));