Форум программистов, компьютерный форум, киберфорум
Наши страницы

Java SE (J2SE)

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 184, средняя оценка - 4.71
Helldrg
26 / 55 / 1
Регистрация: 10.01.2011
Сообщений: 1,148
#1

Как округлить float до двух знаков после запятой - Java SE

10.06.2012, 02:38. Просмотров 28563. Ответов 6
Метки нет (Все метки)

Здравствуйте, помогите это реализовать.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.06.2012, 02:38
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Как округлить float до двух знаков после запятой (Java SE):

Как определить сколько знаков после запятой у float - Java SE
Здравствуйте! Подскажите, как это сделать?

Как указать количество знаков после запятой - Java SE
Всем привет есть программа считает сумму синусов треугольника, вопрос как сделать так чтобы при выводе число знаков после запятой...

Ограничение числа знаков после запятой - Java
подскажите пожалуйста, как ограничить вывод знаков после запятой до одного. System.out.println("Скалярное произведение строк равно...

Число десятичных знаков после запятой - Java
После преобразования parseFloat(s) получаю значение 45.6799999992 Есть ли стандартная команда, которая оставит только два знака после...

преобразование числа к числу с парочкой знаков после запятой - Java
подскажите пожалуйста многоуважаемый all, а как бы мне переменную типа 0.5736573892197121 привести к числу с парочкой знаков после запятой?...

Как взять три цифры после запятой целыми числами но без нуля и запятой - Java SE
Здравствуйте у меня такая проблема, я создаю рандомное число с float и мне нужно взять три цифры после запятой, я применил DecimalFormat();...

6
_ViPeR_
540 / 434 / 79
Регистрация: 02.03.2010
Сообщений: 1,056
10.06.2012, 08:24 #2
Java
1
2
3
double d = 5.77878752;
d = new BigDecimal(d).setScale(2, RoundingMode.UP).doubleValue();
System.out.println(d);
3
M128K145
Эксперт JavaЭксперт С++
8316 / 3536 / 143
Регистрация: 03.07.2009
Сообщений: 10,708
10.06.2012, 12:09 #3
Цитата Сообщение от Helldrg Посмотреть сообщение
Здравствуйте, помогите это реализовать.
Если есть желание подумать, то можно и так
Java
1
2
3
4
5
   private static float round(float number, int scale) {
      int pow = (int) Math.pow(10, scale);
      float tmp = number * pow;
      return (float) (int) ((tmp - (int) tmp) >= 0.5f ? tmp + 1 : tmp) / pow;
   }
2
mutagen
2564 / 2237 / 72
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
10.06.2012, 15:11 #4
лучше вот такой хардкор
Java
1
2
3
4
5
6
7
    private static float round(float number, int scale) {
        int pow = 10;
        for (int i = 1; i < scale; i++)
            pow *= 10;
        float tmp = number * pow;
        return (float) (int) ((tmp - (int) tmp) >= 0.5f ? tmp + 1 : tmp) / pow;
    }
3
rehscm
6 / 2 / 1
Регистрация: 18.04.2010
Сообщений: 11
14.06.2012, 18:05 #5
как у вас все сложно )

Java
1
2
3
public static double round(double value, int scale) {
      return Math.round(value * Math.pow(10, scale)) / Math.pow(10, scale);
}
1
mutagen
2564 / 2237 / 72
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
14.06.2012, 18:14 #6
Цитата Сообщение от rehscm Посмотреть сообщение
как у вас все сложно )
зато уделывает ваш вариант по скорости в разы)))
1
rehscm
6 / 2 / 1
Регистрация: 18.04.2010
Сообщений: 11
14.06.2012, 19:20 #7
да, действительно, 40 мс против 510 мс при 1млн вызовов. респект
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.06.2012, 19:20
Привет! Вот еще темы с ответами:

Округлить до N знаков - Java SE
Доброго времени суток. Подскажите как в Java можно округлить до N знаков, зная длинну строки поля в котрое вводится точность? Пробовал...

Вывод двух цифр после запятой - Java SE
Вот часто на олимпиадных сайтах встречаюсь с условием, что в ответе результат должен быть округлен до 2 знаков после запятой. В паскале...

Как округлить число до двух знаков после запятой - C#
Здравствуйте в типе decimal заметил что в некоторых случаях после запитой набирается несколько кол-во цифр например ...

Как округлить выражение до двух знаков после запятой по правилам математики - Delphi
Имеется запись v0:=v1-(v1*1/100); Как округлить выражение (v1*1/100) до двух знаков после запятой по правилам математики Добавлено...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru