Конвертировать очень маленькие двойные значения в строку (с научной оборудованием) (Java)

StackOverflow https://stackoverflow.com/questions/4421766

Вопрос

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

Это было полезно?

Решение

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top