Показывать только две цифры после десятичной [дубликат]
этот вопрос уже есть ответ здесь:
как получить двойное значение, которое является только двухзначным после десятичной точки.
Если
i=348842.
double i2=i/60000;
tv.setText(String.valueOf(i2));
этот код генерировать 5.81403333
.
но я хочу только 5.81
.
Так что же мне делать?
7 ответов:
использовать DecimalFormat.
DecimalFormat-это конкретный подкласс NumberFormat, который форматирует десятичное число. Он имеет множество функций, предназначенных для его изготовления возможность разбора и форматирования чисел в любом языковом стандарте, включая поддержку для западных, арабских и индийских цифр. Он также поддерживает различные виды чисел, включая целые числа (123), числа с фиксированной точкой (123.4), научная нотация (1. 23E4), проценты (12%) и валюта суммы ($123). Все это можно локализовать.
код -
double i2=i/60000; tv.setText(new DecimalFormat("##.##").format(i2));
выход -
5.81
здесь я продемонстрирую вам, что как сделать ваш десятичный не короче, здесь я короче его до 4 значения после десятичного.
double value = 12.3457652133 value =Double.parseDouble(new DecimalFormat("##.####").format(value));
Я думаю, что лучшее и самое простое решение (поцелуй):
double i = 348842; double i2 = i/60000; float k = (float) Math.round(i2 * 100) / 100;
public class MathRound { public static void main(String[] args) { double number1 = 10.123456; double number2 = (int)Math.round(number1 * 100)/(double)100; System.out.println(number2); } }
i=348842. double i2=i/60000; DecimalFormat dtime = new DecimalFormat("#.##"); i2= Double.valueOf(dtime.format(time)); v.setText(String.valueOf(i2));
Первое, что должно появиться в голове разработчика при форматировании числа в последовательность символов, должно заботиться о таких деталях, как сделать это можно будет отменить операцию.
и другой аспект обеспечивает правильный результат. Поэтому вы хотите усечь число или округлить его.
поэтому, прежде чем начать, вы должны спросить себя, я заинтересован в ценности или нет.
для достижения вашей цели у вас есть несколько вариантов, но большинство из них относятся к и форматер, но я просто предлагаю взглянуть в ответ.