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

Программирование Android

Войти
Регистрация
Восстановить пароль
 
 
AlexseyTsvetkov
0 / 0 / 0
Регистрация: 28.04.2015
Сообщений: 57
#1

Вычисление с тремя знаками после запятой - Программирование Android

12.05.2015, 09:45. Просмотров 619. Ответов 19
Метки нет (Все метки)

Подскажите как прописать формат, чтобы при вычислении результат был с 3 знаками после запятой.
Java
1
2
3
4
5
 SharedPreferences sharedPreferences = getSharedPreferences("MyData",MODE_PRIVATE);
    String a=sharedPreferences.getString("MaxdosageChange",Default);
    String b=sharedPreferences.getString("MaxFlowChange",Default);
    int c = (Integer.parseInt(a)*Integer.parseInt(b))/1000;
    edit_Text4.setText(String.valueOf(c));
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.05.2015, 09:45
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вычисление с тремя знаками после запятой (Программирование Android):

Хранение координат (15 знаков после запятой) - Программирование Android
Доброго времени суточек. Необходимо хранить координаты штатов. Сразу что-то нагуглил в сторону Point2D.Double Но, вот таким...

Ограничение количества символов после запятой в TextView - Программирование Android
Здравствуйте. Есть поле TextView После математических вычислений в него выводится ответ, но количество знаков после запятой не...

Вывод числа с тремя знаками после запятой - C (СИ)
Подскажите, как исправить код, чтобы он не выводил 3 знака после запятой. // ¥è¥*¨¥ á¨áâ¥¬ë ¤¢ãå *¥«¨*¥©*ëå ãà*¢*¥*¨© // // ...

Результат деления вывести на экран тремя знаками после запятой. - Turbo Pascal
Написать программу запрашивающую у пользователя два целых числа: a (делимое) и b (делитель). Результат деления вывести на экран тремя...

Найти частное от деления первого числа на второе, и вывести его с тремя знаками после запятой - Lazarus
1. Оператор присваивания. Ввести два вещественных числа, найти частное от деления первого на второе и вывести его с тремя знаками...

Ввести два числа, найти частное от деления первого на второе, и вывести его с тремя знаками после запятой - Lazarus
Задание: Ввести два вещественных числа, найти частное от деления первого на второе и вывести его с тремя знаками после запятой. Я...

19
Pablito
2477 / 1961 / 611
Регистрация: 12.05.2014
Сообщений: 6,866
Завершенные тесты: 1
12.05.2015, 09:55 #2
у тебя в int все парсится, откуда там знаки после запятой?

Java
1
2
3
Double c = (Double.parseDouble(a)*Double.parseDouble(b));
String str = String.format("%.3f", c);
edit_Text4.setText(str);
0
AlexseyTsvetkov
0 / 0 / 0
Регистрация: 28.04.2015
Сообщений: 57
12.05.2015, 11:02  [ТС] #3
Спасибо, но дает ошибку. Не связано это с тем, что данные выводятся из памяти?
0
Pablito
2477 / 1961 / 611
Регистрация: 12.05.2014
Сообщений: 6,866
Завершенные тесты: 1
12.05.2015, 11:05 #4
какую?
0
AlexseyTsvetkov
0 / 0 / 0
Регистрация: 28.04.2015
Сообщений: 57
12.05.2015, 11:31  [ТС] #5
Просто выходит из программы.
0
Pablito
2477 / 1961 / 611
Регистрация: 12.05.2014
Сообщений: 6,866
Завершенные тесты: 1
12.05.2015, 11:36 #6
в логах что-то должно писать
0
DemD10
58 / 47 / 12
Регистрация: 03.09.2013
Сообщений: 439
12.05.2015, 13:46 #7
Java
1
2
3
public BigDecimal roundUp(double value, int digits){
        return new BigDecimal(""+value).setScale(digits, BigDecimal.ROUND_HALF_UP);
    }
Вообщем как-то так, применять так:

Java
1
String.valueOf(roundUp(Ваше число, сколько знаков));
0
Spelcrawler
526 / 496 / 111
Регистрация: 12.03.2014
Сообщений: 1,649
Завершенные тесты: 1
12.05.2015, 19:51 #8
DemD10, как-то сложно слишком.
Java
1
String.format("%.3f", число);
Вместо тройки любое число - количество знаков после запятой.
0
AlexseyTsvetkov
0 / 0 / 0
Регистрация: 28.04.2015
Сообщений: 57
12.05.2015, 20:09  [ТС] #9
Не получается.
Java
1
2
3
4
5
6
 SharedPreferences sharedPreferences = getSharedPreferences("MyData",MODE_PRIVATE);
    String a=sharedPreferences.getString("MaxdosageChange",Default);
    String b=sharedPreferences.getString("MaxFlowChange",Default);
    Double c = (Double.parseDouble(a)*Double.parseDouble(b));
    String str = String.format("%.3f", c);
    edit_Text4.setText(str);
Эмулятор пишет, что приложение остановлено.
0
Spelcrawler
526 / 496 / 111
Регистрация: 12.03.2014
Сообщений: 1,649
Завершенные тесты: 1
12.05.2015, 20:41 #10
AlexseyTsvetkov, значит ерунда у вас в строках, которая не парсится в double.
0
CoolMind
419 / 402 / 65
Регистрация: 06.10.2012
Сообщений: 1,727
13.05.2015, 00:37 #11
AlexseyTsvetkov, попробуйте комментировать строчки и смотреть, какая из них приводит к ошибке.
Также хотелось бы знать, чем равно Default. Вы уверены, что "MaxdosageChange" существует?
0
AlexseyTsvetkov
0 / 0 / 0
Регистрация: 28.04.2015
Сообщений: 57
13.05.2015, 18:15  [ТС] #12
Рабочий вариант, но вычисляется целое число.
Java
1
2
3
4
5
SharedPreferences sharedPreferences = getSharedPreferences("MyData",MODE_PRIVATE);
    String a=sharedPreferences.getString("MaxdosageChange",Default);
    String b=sharedPreferences.getString("MaxFlowChange",Default);
    int c = (Integer.parseInt(a)*Integer.parseInt(b))/1000;
    edit_Text4.setText(String.valueOf(c));
0
CoolMind
419 / 402 / 65
Регистрация: 06.10.2012
Сообщений: 1,727
13.05.2015, 18:50 #13
AlexseyTsvetkov, у вас же написано: int c = ... Логично, что будет целое число. Выше был пример с double.
0
AlexseyTsvetkov
0 / 0 / 0
Регистрация: 28.04.2015
Сообщений: 57
13.05.2015, 19:07  [ТС] #14
Это рабочий вариант с Double, но тоже получается целое число
Java
1
2
3
4
5
SharedPreferences sharedPreferences = getSharedPreferences("MyData",MODE_PRIVATE);
    String a=sharedPreferences.getString("MaxdosageChange",Default);
    String b=sharedPreferences.getString("MaxFlowChange",Default);
   int c = (int) (Double.parseDouble(a)*Double.parseDouble(b)/1000);
   edit_Text4.setText(String.valueOf(c));
0
Pablito
2477 / 1961 / 611
Регистрация: 12.05.2014
Сообщений: 6,866
Завершенные тесты: 1
13.05.2015, 19:13 #15
в моем коде стоит double
даже списать правильно не может....
2
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.05.2015, 19:13
Привет! Вот еще темы с ответами:

Рандомные дроби с 2-3 знаками после запятой - C++
Помогите пожалуйста сгенерировать 10 000 чисел в интервале от 2 до 8 при помощи randomize() но с условием что бы эти числа были дробные....

Вывести двумерный массив с 3 знаками после запятой - C++
всем привет) мне нужно вывести двумерный массив с 3 знаками после запятой не получается(( пробовала по- разному с принтф если...

.NET 4.x Дробные числа с двумя знаками после запятой - C#
Всем привет! У меня возникла такая проблема. Для начала опишу переменные: client.Tariff тип double, client.Summ тоже double,...

Вывести сумму четырех чисел с 4 знаками после запятой - C++
Задача 1. Сума В стандартном входном потоке дано 4 действительные числа. В стандартный выходной поток вывести их суму из 4 знаками...


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

Или воспользуйтесь поиском по форуму:
15
Yandex
Объявления
13.05.2015, 19:13
Ответ Создать тему
Опции темы

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