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

Разбить число на целую и дробную часть - C++

Восстановить пароль Регистрация
 
bacujiuca1
0 / 0 / 0
Регистрация: 20.05.2013
Сообщений: 17
08.04.2014, 00:40     Разбить число на целую и дробную часть #1
Возможно-ли разбить число x, допустим, это- "3.142", на целую и дробную часть. Именно чтобы было "3" и "14", а не "3.000" и "0.142" как на скрине . При этом x обязательно должен иметь 3 знака после запятой.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <fstream.h>
#include <string>
#include <math.h>
using namespace std;
 
int main(){
int n;
double x, y1, y2, y3;
cout.setf(ios::fixed);
cout.precision(5);
 
for (n= 1; n<= 10; n++){
x= 3.14159265359* n;
y2= modf(x, &y1);
y3=y2*100000;
cout << x<<"   "<< y1<<"   "<< y2<< "  -  "<< y3<< "\n";}
system("pause >> void");
}
Разбить число на целую и дробную часть
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.04.2014, 00:40     Разбить число на целую и дробную часть
Посмотрите здесь:

разделить число на дробную и целую часть C++
Дано действитёльное число х. Получить целую часть *) числа х; затем — число х, округленное до ближайшего целого; затем — число х без дробных цифр. C++
C++ Вывести дробную часть числа
C++ перевести дробную часть в целочисленную
Преобразовать double в два int: целую и дробную части C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
YDS
11 / 11 / 5
Регистрация: 29.03.2014
Сообщений: 61
08.04.2014, 00:54     Разбить число на целую и дробную часть #2
Могу подать такую идею вывода целой части, ну а по той же схеме можно сделать дробную часть, но при этом переменную которая принимает значение 0,14, просто перед выводом домножать на 100, и будет выводить "14") Попробуйте это сделать, а не выйдет пишите)
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
#include <iostream>
#include <string>
#include <math.h>
using namespace std;
 
int main(){
int n;
double x, y1, y2, y3;
cout.setf(ios::fixed);
 
 
for (n= 1; n<= 10; n++){
    cout.precision(5);
x= 3.14159265359* n;
y2= modf(x, &y1);
 
cout << x<<"   ";
cout.precision(0);
cout << y1 <<"   ";
cout.precision(2);
cout << y2<< "   ";
 
y3=y2*100000;
cout << "  -  "<< y3<< "\n";}
system("pause >> void");
}
ValeryS
Модератор
6376 / 4842 / 442
Регистрация: 14.02.2011
Сообщений: 16,045
08.04.2014, 01:02     Разбить число на целую и дробную часть #3
Цитата Сообщение от bacujiuca1 Посмотреть сообщение
Возможно-ли разбить число x, допустим, это- "3.142", на целую и дробную часть. Именно чтобы было "3" и "14", а не "3.000" и "0.142" как на скрине . При этом x обязательно должен иметь 3 знака после запятой.
ну например вот так
C++
1
2
3
4
double x=3.142
 
int a=(int)x;
int b=(x-a)*100;
bacujiuca1
0 / 0 / 0
Регистрация: 20.05.2013
Сообщений: 17
08.04.2014, 02:20  [ТС]     Разбить число на целую и дробную часть #4
Спасибо
для целого числа использовала:
cout.precision(0);
cout << y1 <<" ";
и для дробного:
int a=(int)x;
y2=(x-a)*100;
Теперь другой вопрос Если количество символов после запятой вводится с клавиатуры:
C++
1
2
cin >> m;
cout.precision(m);
Как будет правильнее всего 100 заменить на 1 и m нулей.
Например если вводить с клавиатуры число 5, то будет умножать на 100000. -)
ValeryS
Модератор
6376 / 4842 / 442
Регистрация: 14.02.2011
Сообщений: 16,045
08.04.2014, 02:35     Разбить число на целую и дробную часть #5
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
(x-a)* pow(10.0,m);
bacujiuca1
0 / 0 / 0
Регистрация: 20.05.2013
Сообщений: 17
08.04.2014, 02:40  [ТС]     Разбить число на целую и дробную часть #6
Большое Спасибо!!!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.04.2014, 03:13     Разбить число на целую и дробную часть
Еще ссылки по теме:

Оставить дробную часть C++
Поменять местами дробную и целую части числа C++
C++ Разделение числа на целую и дробную части

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

Или воспользуйтесь поиском по форуму:
IrineK
Заблокирован
08.04.2014, 03:13     Разбить число на целую и дробную часть #7
Преобразовать double в два int: целую и дробную части
Yandex
Объявления
08.04.2014, 03:13     Разбить число на целую и дробную часть
Ответ Создать тему
Опции темы

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