2013-05-10 3 views
0

Я использую этот код:Float форматирование чисел вопроса

DecimalFormat df = new DecimalFormat(); 
df.setMinimumFractionDigits(2); 
df.setMaximumFractionDigits(2); 
float a=(float) 15000.345; 
Sytem.out.println(df.format(a)); 

Я получаю этот выход: 15,000.35 Я не хочу, чтобы запятая сойдется в этом выводе. Мой выход должен быть: 15000.35.

Что является лучшим способом получения этого вывода на Java?

ответ

3

попробовать

   DecimalFormat df = new DecimalFormat(); 
      df.setMinimumFractionDigits(2); 
      df.setMaximumFractionDigits(2); 
      df.setGroupingUsed(false); 
      float a=(float) 15000.345; 
      System.out.println(df.format(a)); 

и

Sytem.out.println(df.format(a)); //wrong //sytem 

System.out.println(df.format(a));//correct //System 
5

Читать Javadoc и использовать это:

df.setGroupingUsed(false);

1

Группировка размер должен быть установлен. Значение по умолчанию 3. См Doc.

df.setGroupingSize(0); 

Или вы используете setGroupingUsed.

df.setGroupingUsed(false); 

Ваш Полный код

DecimalFormat df = new DecimalFormat(); 
df.setMinimumFractionDigits(2); 
df.setMaximumFractionDigits(2); 
df.setGroupingUsed(false); 
float a=(float) 15000.345; 
Sytem.out.println(df.format(a)); 
0

Вы также можете передать #####.## как образец

DecimalFormat df = new DecimalFormat("#####.##"); 
0

Вы можете сделать это следующим образом:

DecimalFormatSymbols otherSymbols = new DecimalFormatSymbols(currentLocale); 
otherSymbols.setDecimalSeparator(','); 
otherSymbols.setGroupingSeparator('.'); 
DecimalFormat df = new DecimalFormat(formatString, otherSymbols); 

После этого, как вы сделали:

df.setMinimumFractionDigits(2); 
df.setMaximumFractionDigits(2); 
float a=(float) 15000.345; 
System.out.println(df.format(a)); 

Это даст вам желаемый результат.

Смежные вопросы