Я должен преобразовать двойное значение в 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
Наложение формата десятичной части фиксирует число десятичных цифр (?)
Вы должны использовать NumberFormat для форматирования строк, чтобы они не отображались в научной нотации.
String str = NumberFormat.getInstance().format(d);
используйте String.format()
:
double d=12345678.999;
System.out.println(String.format("%12.3f", d));
NumberFormat
.