2016-07-29 6 views
0

Я пробовал два разных способа форматирования некоторых чисел, чтобы они отображались подобно деньгам, поэтому до двух знаков после запятой. Однако, я попытался установить поле EditText вString.format() и DecimalFormat фактически не форматирование

EditText.setText (String.format("%.2f, number))

, а также:

DecimalFormat precision = new DecimalFormat("0.00"); 
EditText.setText(String.valueOf(precision.format(number)); 

и ни казалось ничего делать, все еще по умолчанию, как установка на 1 знака после запятой, то есть) 30,0, и если его что-нибудь еще будет идти 3 или более знаков после запятой Ie) 30.243

+0

не получает свой вопрос и то, что вы хотите ??. – Andolasoft

+0

Я думаю, что ваш код верный, пожалуйста, проверьте его –

ответ

3

@Mason Ричардсон

Вы пробовали setMinimumFractionDigits(), который устанавливает минимальные доли для значения

DecimalFormat precision = new DecimalFormat("#.##"); 
dec.setMinimumFractionDigits(2); 
EditText.setText(String.valueOf(precision.format(number)); 
+0

Отлично, что сделал, спасибо! –

+0

@MasonRichardson приветствую друга – eLemEnt

1

Попробуйте

DecimalFormat precision = new DecimalFormat("0.##"); 
edittext.setText(precision.format(number)); 
0

Try это,

 double rews = 100.89478; 
     String ada = new DecimalFormat("##.##").format(rews); 
     System.out.println(ada); 

Выходной

100.89 

Здесь .## поэтому он даст 2 десятичных знака. если вы хотите добавить 3 означает использование .###.

1

Если вы хотите отобразить 5,00 как 5 & 5.10 5.1 затем использовать:

DecimalFormat formater = new DecimalFormat("#.##"); 

Если вы хотите отобразить 5.00 в 5.00 & 5.10 5.10 затем использовать:

DecimalFormat formater = new DecimalFormat("#.00"); 
0

Ваш код кажется правильным, однако, пожалуйста, смотрите здесь,

System.out.printf("Floating point number with 2 decimal digits: %.2f\n",1.21312939123); 
    System.out.printf("Floating point number with 3 decimal digits: %.3f\n",1.21312939123); 
    System.out.printf("Floating point number with 8 decimal digits: %.8f\n",1.21312939123); 
    System.out.printf("String: %s, integer: %d, float: %.6f", "Hello World",89,9.231435); 

Выход:

Floating point number with 2 decimal digits: 1.21 
Floating point number with 3 decimal digits: 1.213 
Floating point number with 8 decimal digits: 1.21312939 
String: Hello World, integer: 89, float: 9.231435 

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

  • Нет связанных вопросов^_^