Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail


Ответ
 
Опции темы
Старый 05.09.2018, 16:19   #1
KAMLS
Форумчанин
 
Регистрация: 09.04.2017
Сообщений: 551
По умолчанию Округление

Здравствуйте!
Поискал в сети способы округления и не увидел то, что хочу.
Спрашиваю в таком случае у знающих.
Существует ли в java метод какого-либо класса, который без всяких стрингов возвращает округлённое до заданного знака после запятой число?
Например:
МЕТОД(переменная которую надо округлить, цифра значащая количество знаков после запятой);
Т.е. если туда заходит double, то и возвращается double, если float - то float
Не стринги, ничего постороннего. Есть такой метод?
KAMLS вне форума Ответить с цитированием
Старый 05.09.2018, 16:25   #2
Alex11223
Заблокирован
 
Регистрация: 12.01.2011
Сообщений: 19,504
По умолчанию

http://www.programmersforum.ru/showt...50#post1741917
Alex11223 вне форума Ответить с цитированием
Старый 05.09.2018, 16:37   #3
KAMLS
Форумчанин
 
Регистрация: 09.04.2017
Сообщений: 551
По умолчанию

Короче, надо делать свой собственный метод...
С переводом double в String, сокращения, и переводом обратно в double и возвратом значения.
А можно это делать с помощью шаблона? Ну, чтобы и float и double.
Ну в С++ это шаблон, а в java дженерик..
KAMLS вне форума Ответить с цитированием
Старый 05.09.2018, 16:38   #4
Alex11223
Заблокирован
 
Регистрация: 12.01.2011
Сообщений: 19,504
По умолчанию

Цель-то какая? Что вы сделать пытаетесь?
Alex11223 вне форума Ответить с цитированием
Старый 05.09.2018, 16:40   #5
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,103
По умолчанию

Короче, вы опять с гуглом не поладили.
Если собрались свой метод воять, то уж лучше через Math.round чем через строки. А еще лучше сразу возьмите БигДецимал с сетскале.
p51x вне форума Ответить с цитированием
Старый 05.09.2018, 16:51   #6
KAMLS
Форумчанин
 
Регистрация: 09.04.2017
Сообщений: 551
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Цель-то какая? Что вы сделать пытаетесь?
У меня в процессе вычисления,при решении задачи, получаются очень длинные дробные части. После результат надо выводить.
Ну вот я и решил это дело округлить.
Но я в вывод забиваю в аранжировку в виде стринга переменные. Ну программа так делает. Т.е. мне надо чтобы метод округления работал с переменной которая содержит число, а не с числом.

Цитата:
Сообщение от p51x Посмотреть сообщение
Короче, вы опять с гуглом не поладили.
блин, честно искал. там чего только нет. Но метода, форму которого я запросил в начале темы - нет нигде.
Нужно просто:
Код:
System.out.print("Выводится число"+(метод(переменная, кол-во знаков после запятой)));
KAMLS вне форума Ответить с цитированием
Старый 05.09.2018, 16:54   #7
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,103
По умолчанию

Тогда вам вообще нужен децималформат и все...
https://docs.oracle.com/javase/tutor...malFormat.html
http://tutorials.jenkov.com/java-int...malformat.html
https://www.baeldung.com/java-decimalformat
и прочее в гугле
p51x вне форума Ответить с цитированием
Старый 05.09.2018, 16:55   #8
Alex11223
Заблокирован
 
Регистрация: 12.01.2011
Сообщений: 19,504
По умолчанию

Цитата:
Сообщение от KAMLS Посмотреть сообщение
У меня в процессе вычисления,при решении задачи, получаются очень длинные дробные части. После результат надо выводить.
И? Вы ж строки выводите, вот и округляйте при выводе в строку.

Цитата:
Сообщение от KAMLS Посмотреть сообщение
Но я в вывод забиваю в аранжировку в виде стринга переменные.
ничего не понял.
Alex11223 вне форума Ответить с цитированием
Старый 05.09.2018, 16:59   #9
KAMLS
Форумчанин
 
Регистрация: 09.04.2017
Сообщений: 551
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
ничего не понял.
Ну это типа я только сейчас понял что вы мне писали.. Спасибо большое))
KAMLS вне форума Ответить с цитированием
Старый 05.09.2018, 17:03   #10
KAMLS
Форумчанин
 
Регистрация: 09.04.2017
Сообщений: 551
По умолчанию

Такой вот код сделал сам.
Код:
 double [] w=new double[2];//иассив дл янового комплексного числа

    for(int i=0; i<4; i++)
        {
        int a=0;
        mass2[0].show_alg_form(mass1[i][a],mass1[i][a+1],(i+1));
        mass2[0].show_trig_form(mass1[i][a],mass1[i][a+1],(i+1));
        mass2[0].show_pok_form(mass1[i][a],mass1[i][a+1],(i+1));
        }
    String str=new String();
    w=mass2[0].slozh((mass2[1].del(mass1[1],mass1[0])),(mass2[2].umn(mass1[2], mass1[3])));
    if(w[1]>0)
        str=("W="+w[0] + "+" +w[1]+ "i");
    else
        str=("W=" + w[0] +w[1] + "i");
    System.out.println("Комплексное число по формуле: "+str);
Вот тут и думаю как округлять.
KAMLS вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Округление ul_mrAlex Общие вопросы Delphi 6 29.01.2014 09:58
Округление Madina192 Microsoft Office Access 6 29.04.2011 11:28
Округление Farmokolog Общие вопросы Delphi 2 19.02.2011 16:08
ОКРУГЛение Андрей_Васильевич Microsoft Office Excel 5 19.10.2009 08:09
округление Toxa Общие вопросы Delphi 4 15.01.2007 19:15


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS
Здесь нужно купить рекламу за 7 тыс руб в месяц! )
пишите сюда - alarforum@yandex.ru
ИКС 840