Как печатать двойной с двумя десятичными знаками в Android?

Возможно, это глупый вопрос, но я не могу догадаться, как его решить, если он не создает метод. Может быть, есть «естественный способ» сделать это, например, в C. Вот проблема:

У меня есть var:

double a; 

И я хочу показать его только с 2 или 3 десятичными знаками. Когда я пытаюсь это показать:

 Text.setText("Value of a: " + String.valueOf(a)); 

Это дает что-то вроде:

Значение a: 5.234966145

И я бы хотел просто

Значение a: 5,23

Не изменяя действительного значения а, поэтому оно показывает приблизительное число, но работает с реальным числом.

 Text.setText( String.format( "Value of a: %.2f", a ) ); 

Вы можете использовать DecimalFormat или String.format("%.2f", a);

Прежде чем использовать DecimalFormat, вам необходимо использовать следующий импорт или ваш код не будет работать:

 import java.text.DecimalFormat; 

Код для форматирования:

 DecimalFormat precision = new DecimalFormat("0.00"); // dblVariable is a number variable and not a String in this case txtTextField.setText(precision.format(dblVariable)); 

Для отображения цифры до двух знаков после запятой есть две возможности – 1) Во-первых, вы хотите отображать только десятичные цифры, если они есть. Например – i) 12.10 для отображения в виде 12.1, ii) 12.00 для отображения в виде 12. Затем используйте-

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

2) Во-вторых, вы хотите отображать десятичные цифры независимо от десятичной даты. Например, -i) 12.10 для отображения как 12.10. Ii) 12, которое будет отображаться как 12.00.

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

Используйте этот:

 DecimalFormat form = new DecimalFormat("0.00"); etToll.setText(form.format(tvTotalAmount) ); 

Предупреждение: данные должны быть в десятичном формате (tvTotalAmount)

 textView2.setText(String.format("%.2f", result)); 

а также

 DecimalFormat form = new DecimalFormat("0.00"); textView2.setText(form.format(result) ); 

… вызывать ошибку «NumberFormatException» в локали для Европы, потому что она задает результат как запятую вместо десятичной точки – возникает ошибка, когда textView добавляется к числу в editText. Оба решения отлично работают в США и Великобритании.

Intereting Posts
Android – Странные отчеты о сбоях при отправке пользователя в Android-приложение для приложения Android: отладка приложения на устройстве с Eclipse и защищенным паролем хранилищем ключей? Получить точное текущее местоположение от поставщика сети Изменения SharedPreference не отражены в моей службе обоев Android: удаление изображения Индексирование приложений с Ampersand в Deep Link не работает Кнопка «Отменить назад», чтобы действовать как кнопка «домой» Wearable not installation app (критерии функциональности Android Wear) Текст элемента управления флажком в пользовательском диалоге не может отображаться на некоторых устройствах Android Добавление естественного эффекта перетаскивания в ImageView так же, как и чат-чаты Facebook Messenger с использованием библиотеки Rebound Как сделать что-то после того, как пользователь нажмет на меня EditText Как установить пользовательский шрифт в Android-устройстве TabMode = "прокручиваемый" не работает Случаи использования DropBoxManager? Просмотрите общие настройки Android-приложения?