21 / 9 / 0
Регистрация: 18.06.2011
Сообщений: 185
|
|
1 | |
Как сравнить числа после запятой?12.10.2012, 21:58. Показов 9077. Ответов 14
Метки нет (Все метки)
Собственно вопрос выше, но всё же уточню: как сравнить одно число с другим только руководствуясь числами после запятой(не целыми). Пример: 3.032<1.033(только числами после запятой)?
0
|
12.10.2012, 21:58 | |
Ответы с готовыми решениями:
14
Как посчитать числа после запятой? Как вывести квадратный корень с числа с 4-мя знаками после запятой Метод Гаусса. Не выводятся числа после запятой, хотя должны (и если кому-то не сложно, как упростить код?) Вывести числа после запятой |
21 / 9 / 0
Регистрация: 18.06.2011
Сообщений: 185
|
|
12.10.2012, 22:10 [ТС] | 3 |
Не понял, если можно то поподробнее. Допустим у меня есть программа которая выдаёт два числа с целыми числами и знаками после запятой, как мне сравнить эти числа только используя знако после запятой?(при этом правильным должно быть и выражение типа 5.032<3.033)
0
|
Модератор
8951 / 6717 / 921
Регистрация: 14.02.2011
Сообщений: 23,714
|
||||||
12.10.2012, 22:24 | 5 | |||||
у целых не бывает дробной части, на то они и целые
дробь бывает у float double первое что пришло на ум( не проверял)
1
|
2338 / 1826 / 753
Регистрация: 27.07.2012
Сообщений: 5,407
|
||||||
13.10.2012, 01:35 | 6 | |||||
0
|
13.10.2012, 01:55 | 7 | |||||
0
|
2338 / 1826 / 753
Регистрация: 27.07.2012
Сообщений: 5,407
|
|
13.10.2012, 02:06 | 8 |
lazybiz, а если равны?
0
|
155 / 137 / 46
Регистрация: 15.02.2010
Сообщений: 750
|
|||||||||||
13.10.2012, 08:56 | 9 | ||||||||||
стандартная функция double modf(double x, double *p) разбивает значение х на целую и дробную части, обе с одинаковым знаком, возвращает дробную часть, а целую помещает в место, указанное р.
Пример:
0
|
155 / 137 / 46
Регистрация: 15.02.2010
Сообщений: 750
|
|
13.10.2012, 18:52 | 11 |
lazybiz, Вы ошибаетесь. Всё логично и в соответствии с особенностями С++.
Да и проверить нетрудно. Равенство, например, при double a=3.033,b=1.033 срабатывает.
0
|
155 / 137 / 46
Регистрация: 15.02.2010
Сообщений: 750
|
|
13.10.2012, 19:38 | 13 |
Упссссс....
Пардон. Беру свои слова обратно. Не могу обьяснить... почему при a=3.033,b=1.033 и при a=5.088,b=3.088срабатывает, а при a=5.033,b=3.033 не хочет... Но ведь конструкция типа: if (...) {...} else if (...) {...} else if (...) {...} ... else {...} должна работать. А вот здесь не срабатывает. Может подскажете, в чём ошибка. Буду очень благодарен.
0
|
13.10.2012, 19:48 | 14 |
Дело в особенности вещественных типов данных. Тут чем больше целая часть, тем меньше дробная, т.к. предпочтение отдается целой. Из-за этого и возникают такие нюансы.
Попробуй выведи максимальное количество знаков после запятой и ты увидишь что числа не равны при большой целой части.
1
|
155 / 137 / 46
Регистрация: 15.02.2010
Сообщений: 750
|
||||||
13.10.2012, 20:07 | 15 | |||||
Спасибо.
Ясно. Наверное, следует знать, до какого десятичного знака сравнивать дробные части, и сделать перед сравнением так (или наподобие этого):
0
|
13.10.2012, 20:07 | |
13.10.2012, 20:07 | |
Помогаю со студенческими работами здесь
15
Увеличение числа знаков после запятой Насчёт числа знаков после запятой Округление числа до двух знаков после запятой Последовательное получение чисел после запятой у числа пи Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи | |||||
Как работать с ветками (branch) в Git
InfoMaster 17.01.2025
Система контроля версий Git произвела революцию в процессе разработки программного обеспечения, предоставив разработчикам мощный инструмент для управления изменениями в коде. Одной из наиболее важных. . .
|
Как откатить последние коммиты в Git
InfoMaster 17.01.2025
Система контроля версий Git стала неотъемлемой частью современной разработки программного обеспечения, предоставляя разработчикам мощные инструменты для управления изменениями в коде. Одним из. . .
|
Что такое boilerplate и scaffold, чем они отличаются
InfoMaster 17.01.2025
В современном мире разработки программного обеспечения эффективность и скорость создания качественного кода играют crucial роль в успехе проектов. Разработчики постоянно ищут способы оптимизировать. . .
|
Чем отличаются ссылки и указатели в С++
InfoMaster 17.01.2025
В современном программировании на C++ эффективная работа с памятью является ключевым аспектом разработки качественного программного обеспечения. Указатели и ссылки представляют собой два. . .
|
В чем разница между PUT и POST
InfoMaster 17.01.2025
В современной веб-разработке правильное использование HTTP-методов играет ключевую роль в создании надежных и эффективных API-интерфейсов. Протокол HTTP прошел долгий путь развития с момента своего. . .
|
DTO, POCO и Value Object: что это такое, когда и как использовать
InfoMaster 17.01.2025
Введение в паттерны передачи данных
В современной разработке программного обеспечения эффективное управление данными и их передача между различными слоями приложения являются ключевыми аспектами. . .
|
Что такое pull request в Git
InfoMaster 17.01.2025
В современной разработке программного обеспечения pull request в Git представляет собой ключевой механизм для эффективного взаимодействия между разработчиками при работе над общим кодом проекта. По. . .
|
Как вернуться к предыдущему коммиту в Git
InfoMaster 17.01.2025
Система контроля версий Git представляет собой мощный инструмент для управления изменениями в программном коде, который позволяет разработчикам эффективно отслеживать и контролировать историю. . .
|
Что такое паттерны программирования и проектирования
InfoMaster 17.01.2025
Роль паттернов в современной разработке программного обеспечения
В современном мире разработки программного обеспечения паттерны проектирования стали неотъемлемой частью профессионального подхода. . .
|
Как добавить конструктор Яндекс Карт на сайт
InfoMaster 17.01.2025
Введение в API Яндекс Карт
В современной веб-разработке интеграция картографических сервисов стала неотъемлемой частью многих проектов. API Яндекс Карт представляет собой мощный инструмент для. . .
|
Что такое javascript:void(0) и зачем это нужно
InfoMaster 17.01.2025
Когда вы сталкиваетесь с веб-разработкой, особенно с использованием JavaScript, одной из директив, которая часто встречается, является javascript:void(0). Это выражение вызывает интерес из-за своей. . .
|
Что такое оркестрация и хореография микросервисов
InfoMaster 17.01.2025
Введение в оркестрацию и хореографию микросервисов
В современном мире разработки программного обеспечения микросервисная архитектура стала ключевым подходом к созданию масштабируемых и гибких. . .
|