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

Точность вычисления - C++

Восстановить пароль Регистрация
 
breeve
 Аватар для breeve
73 / 73 / 14
Регистрация: 01.08.2009
Сообщений: 177
13.01.2010, 18:28     Точность вычисления #1
Вопрос довольно простой. Как сделать так чтобы
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <iomanip>
using namespace std;
 
int main()
{
    double a;
    a = (54 *100)/2456;
    cout.precision(5);
    cout << a;
    return 0;
}
выводил не просто 2(целое), а с тысячными долями(2.1986)?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.01.2010, 18:28     Точность вычисления
Посмотрите здесь:

C++ Точность вычислений
C++ Точность и т.д.
C++ Теряется точность
C++ Точность float
C++ точность, настраиваемая вручную
Заданная точность C++
Каковая точность округления? C++
Заданная точность C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
TanT
эволюционирую потихоньку
 Аватар для TanT
464 / 462 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
13.01.2010, 18:40     Точность вычисления #2
8-ая строка a = (double)(54 *100)/2456; или a =(54.0 *100.0)/2456.0;

а вообще
C++
1
2
3
4
setprecisi-on(n) Определяет количество цифр (n-1) в дробной части числа
double h=1234.6578;
cout.setf(ios::fixed);
cout<<"h="<<setprecision(3)<<h<<endl;
результат h= 1234.658
Day
 Аватар для Day
1149 / 954 / 57
Регистрация: 29.10.2009
Сообщений: 1,384
14.01.2010, 01:22     Точность вычисления #3
a = (54 *100)/2456;
Тут все числа целые. Транслятор вычисляет выражение над целыми числами
и возвращает для присваивания целое число.
Стоит заменить 54 на 54.0 - и все получится!
Yandex
Объявления
14.01.2010, 01:22     Точность вычисления
Ответ Создать тему
Опции темы

Текущее время: 05:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru