Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/18: Рейтинг темы: голосов - 18, средняя оценка - 4.56
В поиске
103 / 51 / 17
Регистрация: 20.04.2014
Сообщений: 812
1

Деление округляет переменную double до целого

01.02.2016, 12:53. Показов 3421. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Видемо совсем обленился я думать. Но как все время нормально считало и не округляло а сейчас double ровно до целой округляется и хоть ты тресни

Деление округляет переменную double до целого
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.02.2016, 12:53
Ответы с готовыми решениями:

В первом варианте не округляет до целого числа, а во втором случае округляет
Добрый Вечер Программисты. Подскажите пожалуйста почему в первом варианте не округляет до целого...

Не могу округлить переменную double до целого числа
Мне нужна функция, которая возвращает int, double, округленный до целого числа. Math.Round не...

Округляет значение double
Всем доброго времени суток. Написал конвертор преобразующие дюймы в футы // Программа для...

VS 2017 округляет значение в double
Моя программа начисляет процент от суммы остатка. Но при введении суммы равной 6 080 372 517 086...

8
В поиске
103 / 51 / 17
Регистрация: 20.04.2014
Сообщений: 812
01.02.2016, 12:55  [ТС] 2
Если 555/100 то ответ будет 5
0
TheGreatCornholio
1254 / 732 / 285
Регистрация: 30.07.2015
Сообщений: 2,408
01.02.2016, 12:58 3
Цитата Сообщение от КВА696 Посмотреть сообщение
Видемо совсем обленился я думать.
Да не то слово
Число без точки - это int. Поставьте точки, например 55.0, или d, например 55d.
Чтобы компилятор знал, что имеет дело с double.
1
12 / 12 / 8
Регистрация: 25.05.2014
Сообщений: 36
01.02.2016, 12:59 4
Если бы скинул листинг кода, а не скриншот было бы более читабельно. а так подозреваю что у тебя

C#
1
double variable1 = 23 / 7;
в этом случае ответ будет равен 3, потому что ты делишь два целых числа и происходит неявное приведение типов в ответе как я понимаю.

C#
1
double variable1 = 23 / 7.0;
здесь ответ уже будет с дробной частью.
а еще лучше не хардкодить,а создать две переменные до деления, тогда и ошибки будет найти проще:

C#
1
2
3
double variable1 = 23.0;
double variable2 = 7.0;
double result = variable1/variable2;
1
В поиске
103 / 51 / 17
Регистрация: 20.04.2014
Сообщений: 812
01.02.2016, 13:16  [ТС] 5
schlawiner, Да вот проблема в том что я делаю из стринг переменной формулу типо

Math.Round(((Math.PI * (([3] / 2d) / 100d) * (([3] / 2d) / 100d) * ([5] / 100d)) * [6] * [15]), 3)

потом в место [...] подставляю значения и произвожу вычисления. И как бы даже не задумывался про то что сделает мне целые переменные int - ом
0
TheGreatCornholio
1254 / 732 / 285
Регистрация: 30.07.2015
Сообщений: 2,408
01.02.2016, 13:21 6
Цитата Сообщение от КВА696 Посмотреть сообщение
сделает мне целые переменные int - ом
0
12 / 12 / 8
Регистрация: 25.05.2014
Сообщений: 36
01.02.2016, 13:45 7
Попробуй использовать функции
C#
1
2
3
4
5
6
string variable = "3";
 
Convert.ToDouble(variable);
 
//или
Double.Parse(variable);
0
В поиске
103 / 51 / 17
Регистрация: 20.04.2014
Сообщений: 812
01.02.2016, 14:04  [ТС] 8
schlawiner, В моём случае это не прокатит))
Если интерес есть посмотреть что я на костылял то вот

рабочий черновик.zip

проблемное место это вот это будет
C#
1
2
3
#pragma warning disable CS0618 // Тип или член устарел
                НормаРасхода = Eval.JScriptEvaluate(НормаРасхода.Replace("R", "r"), VsaEngine.CreateEngine()).ToString();
#pragma warning restore CS0618 // Тип или член устарел
Когда туда приходят целые числа да даже если им всем добавить ,0 или .0 ответ все равно целый приходит от Eval.JScriptEvaluate(
0
25 / 25 / 22
Регистрация: 22.02.2015
Сообщений: 125
01.02.2016, 14:21 9
Можно попробовать использовать явное приведение при расчетах:
C#
1
(double)вашапеременная
0
01.02.2016, 14:21
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.02.2016, 14:21
Помогаю со студенческими работами здесь

Java сама округляет double
Совсем глупый вопрос: double q = 5 / 2; System.out.println(q); Почему выводит 2.0, а не 2.5 ?

Программа округляет вывод типа double
Приветствую форумчане! Решил написать программу которая высчитывает сумму ежемесячного платежа по...

Не получается вывести вещественное число - округляет до целого
Добрый вечер! Тупейшая ошибка, не могу понять в чём дело! Не получается вывести вещественное число,...

Почему Си округляет значения чисел типа double?
Имеется два раствора, вводим в программу вес и концентрацию первого, затем вес и концентрацию...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru