Преобразование очень маленьких двойных значений в строку (с научной нотацией) (Java) - PullRequest
0 голосов
/ 12 декабря 2010

Я пытаюсь напечатать маленькое двойное число, подобное 6.67e-11, но использование Double.toString () возвращает 0. Что я могу сделать, чтобы вместо этого напечатать 6.67e-11 (или что-то подобное)?

1 Ответ

2 голосов
/ 12 декабря 2010

Невозможно воспроизвести:

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, из-за некоторых ошибок округления в других операциях.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...