Форум программистов, компьютерный форум CyberForum.ru Форум программистов | Компьютерный форум | Форум web-программистов | Форум по электронике и бытовой технике | Форум о софте | Научный форум | Карьера и бизнес
CyberForum.ru - форум программистов и сисадминов > > >
Восстановить пароль Регистрация

Ответ Создать новую тему
 
10.06.2012, 02:38   #1
Helldrg
Форумчанин
46 / 46 / 5
Регистрация: 10.01.2011
Сообщений: 630
Как округлить float до двух знаков после запятой / Java SE (J2SE)

Здравствуйте, помогите это реализовать.
10.06.2012, 02:38
AdAgent
Объявления
10.06.2012, 08:24   #2
_ViPeR_
Форумчанин
281 / 259 / 11
Регистрация: 02.03.2010
Сообщений: 593
Как округлить float до двух знаков после запятой

Код Java(TM) 2 Platform Standard Edition 5.0
1
2
3
double d = 5.77878752;
d = new BigDecimal(d).setScale(2, RoundingMode.UP).doubleValue();
System.out.println(d);
Другие темы раздела
Как определить сколько знаков после запятой у float Java SE
Здравствуйте! Подскажите, как это сделать?
Разработать класс представляющий успеваемость студента по дисциплине Java SE
Разработать класс представляющий успеваемость студента по дисциплине с методом определения его средней оценки. Создать 2 объекта класса: один с использованием конструктора без параметров, а другой с использованием параметризованного конструктора.
10.06.2012, 12:09   #3
M128K145
Форумчанин
Эксперт C++
8181 / 3403 / 68
Регистрация: 03.07.2009
Сообщений: 10,631
Как округлить float до двух знаков после запятой

Цитата Сообщение от Helldrg Посмотреть сообщение
Здравствуйте, помогите это реализовать.
Если есть желание подумать, то можно и так
Код Java(TM) 2 Platform Standard Edition 5.0
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;
   }
10.06.2012, 15:11   #4
mutagen
Модератор
2387 / 2156 / 65
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
Как округлить float до двух знаков после запятой

лучше вот такой хардкор
Код Java(TM) 2 Platform Standard Edition 5.0
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;
    }
14.06.2012, 18:05   #5
rehscm
Новичок
6 / 2 / 1
Регистрация: 18.04.2010
Сообщений: 11
Как округлить float до двух знаков после запятой

как у вас все сложно )

Код Java(TM) 2 Platform Standard Edition 5.0
1
2
3
public static double round(double value, int scale) {
      return Math.round(value * Math.pow(10, scale)) / Math.pow(10, scale);
}
14.06.2012, 18:14   #6
mutagen
Модератор
2387 / 2156 / 65
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
Как округлить float до двух знаков после запятой

Цитата Сообщение от rehscm Посмотреть сообщение
как у вас все сложно )
зато уделывает ваш вариант по скорости в разы)))
14.06.2012, 19:20   #7
rehscm
Новичок
6 / 2 / 1
Регистрация: 18.04.2010
Сообщений: 11
Как округлить float до двух знаков после запятой / Java SE (J2SE)

да, действительно, 40 мс против 510 мс при 1млн вызовов. респект
14.06.2012, 19:20
Yandex
Объявления
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать новую тему

Похожие темы
Тема Раздел Автор Дата
Java SE Вывод двух цифр после запятой
Вот часто на олимпиадных сайтах встречаюсь с условием, что в ответе результат должен быть округлен до 2 знаков после запятой. В паскале была такая штука как Writeln(n:6:2); , как это осуществить в Java?
Java SE (J2SE) Droom 11.05.2014 09:17
Delphi Как округлить выражение до двух знаков после запятой по правилам математики
Имеется запись v0:=v1-(v1*1/100); Как округлить выражение (v1*1/100) до двух знаков после запятой по правилам математики Добавлено через 54 минуты Сделал так v0:=v1-simpleroundto((v1*1/100), -2);
Delphi для начинающих govorun 15.02.2014 18:14
Java SE Как указать количество знаков после запятой
Всем привет есть программа считает сумму синусов треугольника, вопрос как сделать так чтобы при выводе число знаков после запятой регулировалось пользователем (т.е. ввел пользователь в начале программы цифру значит вот на столько знаков после запятой и выводить результат). Вот сам подсчет суммы...
Java SE (J2SE) Flyinsky 26.09.2013 00:38
C# WinForms Как округлить число до двух знаков после запятой
Здравствуйте в типе decimal заметил что в некоторых случаях после запитой набирается несколько кол-во цифр например decimal summa,count,x; count = Convert.ToDecimal(textBox1.Text); summa = Convert.ToDecimal(textBox2.Text); x =...
C# Windows Forms JP2 05.01.2013 11:16
Java SE Как определить сколько знаков после запятой у float
Здравствуйте! Подскажите, как это сделать?
Java SE (J2SE) Helldrg 11.06.2012 01:15
Опции темы

Текущее время: 23:37. Часовой пояс GMT +4.

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.7 PL3
Copyright ©2000 - 2014, vBulletin Solutions, Inc.