Как получить двойное значение, которое составляет только две цифры после десятичной точки.
например
если
i=348842.
double i2=i/60000;
tv.setText(String.valueOf(i2));
этот код генерирует 5.81403333
.
Но я хочу только 5.81
.
Итак, что я делаю?
Как получить двойное значение, которое составляет только две цифры после десятичной точки.
например
если
i=348842.
double i2=i/60000;
tv.setText(String.valueOf(i2));
этот код генерирует 5.81403333
.
Но я хочу только 5.81
.
Итак, что я делаю?
Используйте DecimalFormat.
DecimalFormat является конкретным подклассом NumberFormat, который форматирует десятичные числа. Он имеет множество функций, предназначенных для его создания. возможность разбора и форматирования чисел в любой локали, включая поддержку для западных, арабских и индийских цифр. Он также поддерживает различные виды чисел, включая целые числа (123), числа с фиксированной запятой (123,4), научная нотация (1.23E4), проценты (12%) и валюта суммы (123 долл. США). Все они могут быть локализованы.
Фрагмент кода -
double i2=i/60000;
tv.setText(new DecimalFormat("##.##").format(i2));
Выход -
5,81
Как насчет String.format("%.2f", i2)
?
Здесь я продемонстрирую вам, что, как сделать ваш десятичный символ короче, здесь я короче это до 4 значений после десятичного числа.
double value = 12.3457652133
value =Double.parseDouble(new DecimalFormat("##.####").format(value));
Я думаю, что лучшим и простым решением является (KISS):
double i = 348842;
double i2 = i/60000;
float k = (float) Math.round(i2 * 100) / 100;
Это вернет значение вместо простого форматирования.
double number1 = 10.123456;
double number2 = (int)(Math.round(number1 * 100))/100.0;
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));
Первое, что должно появиться в голове разработчика при форматировании числа в последовательности char, должно заботиться о таких деталях, как, возможно, можно отменить операцию.
И другой аспект - это правильный результат. Поэтому вы хотите усечь число или округлить его.
Итак, прежде чем вы начнете, вы должны спросить себя, меня интересует ценность или нет.
Для достижения вашей цели у вас есть несколько вариантов, но большинство из них относятся к Format и Formatter, но я просто предлагаю посмотреть этот ответ.