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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Lazzzy Panda
5 / 5 / 3
Регистрация: 27.02.2014
Сообщений: 34
Завершенные тесты: 1
#1

Убрать округление double - C++

27.02.2014, 18:20. Просмотров 1076. Ответов 10
Метки нет (Все метки)

Доброго времени суток!
Недавно начав самостоятельно изучать С++, я пыталась выполнить лабораторную работу по созданию программы для вычисления некоторой формулы. Visual Studio не ругается на код программы, что-то там считает при разных входных данных, но вот незадача: при сравнении результатов вычислений в Mathcad'е и той программе, которую я написала, эти результаты не совпадают начиная с сотых. Попыталась упростить формулу до нельзя. Все равно такой же результат. Подскажите, пожалуйста, решение моей проблемы(если оно вообще есть). (был услышан вариант, что double округляет результат, при том, что мне округлять ничего не надо, но не факт)

Код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include "stdafx.h"
#include <iostream> ;
#include <conio.h>;
#include <math.h>;
#include <locale>
using namespace std;
 
int main()
{
    setlocale(0, "");
    double m, t, c, b, f, d=0.3;
    cout << "Введите значение m=";
    cin >> m;
    cout << "Введите значение t=";
    cin >> t;
    cout << "Введите значение c=";
    cin >> c;
    cout << "Введите значение b=";
    cin >> b;
        double q = (t-1);
        double w = tan(q);
        double e = m*w;
        double y = pow(m,b);
        double u = c*sin(t);
        double o = fabs(u/y);
    v = e+o;
    f = pow(v, d);
    cout << "f = " << f;
    _getch();
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.02.2014, 18:20     Убрать округление double
Посмотрите здесь:

Округление double - C++
Короче ввожу число 1.05 в Debug показывает его, как 1.004999999999999999995663191310058 вот как эту чушь убрать, у меня задача из-за...

Округление Double - C++
Использую Double, возникают при тонких расчетах проблемы с округлением. Какие есть стандартные способы решения? :)

Округление Long double. - C++
Нужно округлить число типа long double в меньшую сторону т.е. просто обнулить всю дробную часть, но при этом надо сохранить эту самую...

double округление с точность до N знаков - C++
Добрый день, помогите пожалуста какую надо использовать функцию чтобы была возможность округлить значение числа double с точностью до N...

Форматирование вывода и округление double - C++
Доброго времени суток. Я много подобных тем полистал. Но не нашел ответа. Мне нужно написать функцию, которая бы получала double число,...

Округление числа double до десятых, до сотых - C++
Приветствую всех, double y=3.1415; нужно округлить y до десятых и сотых, записать в переменные соответственно. т.е. получить 0.1 и...

printf. Округление чисел типа double - C++
Пытаюсь писать программу для округления чисел типа double. // okruglenie double.cpp: определяет точку входа для консольного...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Catstail
Модератор
22510 / 10915 / 1774
Регистрация: 12.02.2012
Сообщений: 18,063
27.02.2014, 18:28     Убрать округление double #2
Округляет не double... Округляет cout при печати!
Тамика
Котовчанин
870 / 450 / 143
Регистрация: 16.02.2010
Сообщений: 2,954
Записей в блоге: 27
27.02.2014, 18:34     Убрать округление double #3
Тут спасут
C++
1
std::setprecision(20) << std::fixed

Вместо 20 - это я использовала. Можете увеличить точность.
Catstail
Модератор
22510 / 10915 / 1774
Регистрация: 12.02.2012
Сообщений: 18,063
27.02.2014, 18:39     Убрать округление double #4
Вот так можно задать бОльшее число цифр после точки:

C++
1
cout << setprecision(15) << 1.0/3.0 << endl;
только не забудь подключить:

C++
1
#include <iomanip.h>
Croessmah
Модератор
Эксперт CЭксперт С++
13051 / 7314 / 814
Регистрация: 27.09.2012
Сообщений: 18,050
Записей в блоге: 3
Завершенные тесты: 1
27.02.2014, 18:40     Убрать округление double #5
Цитата Сообщение от Catstail Посмотреть сообщение
только не забудь подключить:
ну судя по тому, что используется <iostream>, то подключать нужно <iomanip>
Catstail
Модератор
22510 / 10915 / 1774
Регистрация: 12.02.2012
Сообщений: 18,063
27.02.2014, 18:52     Убрать округление double #6
Цитата Сообщение от Croessmah Посмотреть сообщение
то подключать нужно <iomanip>
- я так и написал.
Croessmah
Модератор
Эксперт CЭксперт С++
13051 / 7314 / 814
Регистрация: 27.09.2012
Сообщений: 18,050
Записей в блоге: 3
Завершенные тесты: 1
27.02.2014, 18:57     Убрать округление double #7
Цитата Сообщение от Catstail Посмотреть сообщение
- я так и написал.
у вас <iomanip.h>, а он устарел
Lazzzy Panda
5 / 5 / 3
Регистрация: 27.02.2014
Сообщений: 34
Завершенные тесты: 1
28.02.2014, 03:57  [ТС]     Убрать округление double #8
Catstail, спасибо, что просвещаете незнающих)
Спасибо, за ответы, я опробую их в деле =)
mustimur
268 / 222 / 57
Регистрация: 22.11.2013
Сообщений: 832
Записей в блоге: 1
28.02.2014, 11:02     Убрать округление double #9
Цитата Сообщение от Тамика Посмотреть сообщение
std::setprecision(20)
А вы про машинный "0" не забыли?
Catstail
Модератор
22510 / 10915 / 1774
Регистрация: 12.02.2012
Сообщений: 18,063
28.02.2014, 12:25     Убрать округление double #10
Цитата Сообщение от mustimur Посмотреть сообщение
А вы про машинный "0" не забыли?
- я об этом никогда не забываю - у меня (15)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.02.2014, 13:55     Убрать округление double
Еще ссылки по теме:

Как убрать округление? - C++
Доброго времени суток. Компилятор Dev-c++ выдает при делении целое вместо дробного. Пробовал setf, usetf, precision. Чёта не получается...

Как убрать округление - C++
Ребят не подскажите как убрать округление? Например когда я ввожу 55555555555555555555, то он должен взять просто первые 16 символов, а он...

Как убрать округление косинуса в программе - C++
Здравствуйте, вот программа здесь массив забивается по формуле, но происходит округление чисел с 0.9999... до 1 можно ли это как-то...

typedef double (*d)(double); - C++
//--------------------------------------------------------------------------- #include &quot;math.h&quot; #include &lt;stdio.h&gt; #include...

Перевод double to double - C++
Всем привет! проблема такая : Есть вектор типа double. Из него надо считать число в переменную, которая тоже имеет тип double. Считываю...


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

Или воспользуйтесь поиском по форуму:
mustimur
268 / 222 / 57
Регистрация: 22.11.2013
Сообщений: 832
Записей в блоге: 1
28.02.2014, 13:55     Убрать округление double #11
Catstail, Я не про Вас, у Вас все в порядке
Yandex
Объявления
28.02.2014, 13:55     Убрать округление double
Ответ Создать тему
Опции темы

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