Невозможно воспроизвести:
public class Test {
public static void main(String args[])
{
double d = 6.67e-11;
System.out.println(Double.toString(d)); // Prints "6.67E-11"
}
}
IIRC, Double.toString()
всегда возвращает строку, которая позволяет выполнить точное округление точного значения, используя Double.parseDouble()
.
Я предполагаю, что у вас на самом деле нет небольшого значения - у вас 0, из-за некоторых ошибок округления в других операциях.