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

Округляет значение double - C++

Восстановить пароль Регистрация
 
Roodikk
0 / 0 / 0
Регистрация: 17.11.2014
Сообщений: 5
18.11.2014, 22:54     Округляет значение double #1
Всем доброго времени суток.
Написал конвертор преобразующие дюймы в футы
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
// Программа для преобразования
// дюймов в футы:
// Inch = Feet/nRatio
//
#include <stdio.h>
#include <iostream>
using namespace std;
int main(int nNumberofArgs, char* pszArgs[])
{
// Введите значение в дюймах
int nInch;
cout << "Enter a value in inches: ";
cin >> nInch;
// для приведенной формулы преобразования
//укажем значение преобразующего делителя
int nRatio;
nRatio = 12;
// используем вычисленный коэффициент для
// преобразования футов  в дюймы
double nFeet;
nFeet = nInch/nRatio;
// вывод результатов
cout << "Result in feetes: ";
cout << nFeet;
return 0;
}
Причем задал тип переменной nFeet как double

Правильно ли я понимаю, что значение переменной nFeet может быть дробным? Если да, то почему тогда отсекается вся дробная часть? Что нужно сделать, чтобы выводилось дробное значение?
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Dennis Ritchie
 Аватар для Dennis Ritchie
546 / 138 / 29
Регистрация: 27.07.2014
Сообщений: 2,444
18.11.2014, 23:00     Округляет значение double #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
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
// ÏðîãðГ*ììГ* äëÿ ïðåîáðГ*çîâГ*Г*ГЁГї
// äþéìîâ â ôóòû:
// Inch = Feet/nRatio
//
#include <iostream>
using namespace std;
 
int main(int nNumberofArgs, char* pszArgs[])
{
    // Ââåäèòå Г§Г*Г*Г·ГҐГ*ГЁГҐ Гў äþéìГ*Гµ
    double nInch;
    cout << "Enter a value in inches: ";
    cin >> nInch;
    // äëÿ ïðèâåäåГ*Г*îé ôîðìóëû ïðåîáðГ*çîâГ*Г*ГЁГї
    //ГіГЄГ*æåì Г§Г*Г*Г·ГҐГ*ГЁГҐ ïðåîáðГ*çóþùåãî äåëèòåëÿ
    double nRatio;
    nRatio = 12;
    // èñïîëüçóåì âû÷èñëåГ*Г*ûé êîýôôèöèåГ*ГІ äëÿ
    // ïðåîáðГ*çîâГ*Г*ГЁГї ôóòîâ  Гў äþéìû
    double nFeet;
    nFeet = nInch / nRatio;
    // âûâîä ðåçóëüòГ*òîâ
    cout << "Result in feetes: ";
    cout << nFeet;
    return 0;
}
true_bugmaker
28 / 5 / 1
Регистрация: 18.11.2014
Сообщений: 68
18.11.2014, 23:02     Округляет значение double #3
надо так, nFeet = (double)nInch/nRatio; иначе у тебя вычисляется целое по типу операндов, и потом только это целое присваивается переменной типа double.
IrineK
Заблокирован
19.11.2014, 04:13     Округляет значение double #4
Цитата Сообщение от true_bugmaker Посмотреть сообщение
надо так,
Лучше написать
C++
1
double nRatio = 12.0;
Yandex
Объявления
19.11.2014, 04:13     Округляет значение double
Ответ Создать тему
Опции темы

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