Конвертировать double в строку в Java

1

Я должен преобразовать двойное значение в String.

double d=12345678.999;
String str = String.valueOf(d);

или просто

String str = ""+d;

Это, однако, в экспоненте form-- возвращается значение String:

1.2345678999E7

Мне нужно значение, как в строке:

12345678.999

Есть ли способ сделать это? Я могу проанализировать строку для значения exponent-- части после "E" и перейти оттуда, но должен быть более простой способ сделать это.

//===========================

РЕДАКТИРОВАТЬ:

длина десятичной части на входе неизвестна, это может быть любое количество цифр:

12345678.999

или

12345678.9999999

Наложение формата десятичной части фиксирует число десятичных цифр (?)

Показать ещё 1 комментарий
Теги:
string
types
double

2 ответа

3
Лучший ответ

Вы должны использовать NumberFormat для форматирования строк, чтобы они не отображались в научной нотации.

String str = NumberFormat.getInstance().format(d);
  • 0
    java.text.NumberFormat.getInstance (). format (0.9999999d) Создать 1
2

используйте String.format():

double d=12345678.999;
System.out.println(String.format("%12.3f", d));

Ещё вопросы

Сообщество Overcoder
Наверх
Меню