Форум программистов, компьютерный форум, киберфорум
IrineK
Войти
Регистрация
Восстановить пароль

Преобразовать double в два int: целую и дробную части

Запись от IrineK размещена 08.04.2014 в 12:18
Показов 1098 Комментарии 0
Метки c++

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
32
33
34
35
36
37
#include <iostream>
#include <iomanip>
#include <sstream>
using namespace std;
 
void SplitDouble (double src, long int &floor_, long int &fraction)
{   floor_ = fraction = 0;
    ostringstream oss;
    istringstream iss;
    string snum, snum1, snum2;
 
    oss << fixed << setprecision(9) << src;
    snum = oss.str();
    int pos = snum.find_first_of (".");
 
    snum1 = snum.substr(0, pos);
    snum2 = snum.substr(pos+1);
    
    iss.str(snum1);         iss >> floor_;
    iss.str("");            iss.clear();
    iss.str(snum2);         iss >> fraction;
}
 
 
int main()
{   double num = 158679.3 / 22.6666;
    long int num1, num2;
    
    num1 = num2 = 0;
    SplitDouble (num, num1, num2);
 
    cout << "Double: " << fixed << setprecision (9) << num << '\n';
    cout << "Floor: " << num1 << '\t' << "Fraction: " << num2;
    
    cin.get();
    return 0;
}
Точность для дробной части выставляем не больше 9, иначе в 4 байта long int не влезет.
int, кстати тоже 4 байта чаще всего, но - не всегда.

Библиотечная функция: http://www.cplusplus.com/reference/cmath/modf/
Метки c++
Размещено в Строки
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Новые блоги и статьи
Непрерывная интеграция для пакета Python
Mr. Docker 22.06.2025
Было 4 часа утра пятницы, когда я выпустил новую версию нашей внутренней библиотеки для обработки данных. Релиз 0. 5. 2 содержал небольшой фикс для обработки дат в ISO формате, что может пойти не так?. . .
Продвинутый ETL на C# из OLTP БД в хранилище
stackOverflow 22.06.2025
Работая в сфере корпоративной аналитики, я постоянно сталкиваюсь с одним и тем же - нужны чистые, структурированные и, главное, свежие данные. Без них современные аналитические системы, машинное. . .
Мастер-класс по микросервисам на Node.js
Reangularity 21.06.2025
Node. js стал одной из самых популярных платформ для микросервисной архитектуры не случайно. Его неблокирующая однопоточная модель и событийно-ориентированный подход делают его идеальным для. . .
Управление Arduino из WPF приложения
Wired 21.06.2025
Зачем вообще связывать Arduino с WPF-приложением? Казалось бы, у Arduino есть собственная среда разработки, своя экосистема, свои способы управления. Однако при создании серьезных проектов. . .
Звёздная пыль
kumehtar 20.06.2025
Я просто это себе представляю: как создавался этот мир. Как энергия слипалась в маленькие частички. Как они собирались в первые звёзды, как во вселенной впервые появился Свет. Как эти звёзды. . .
Создание нейросети с PyTorch
AI_Generated 19.06.2025
Ключевое преимущество PyTorch — его питоновская натура. В отличие от TensorFlow, который изначально был построен как статический вычислительный граф, PyTorch предлагает динамический подход. Это. . .
JWT аутентификация в ASP.NET Core
UnmanagedCoder 18.06.2025
Разрабатывая веб-приложения, я постоянно сталкиваюсь с дилеммой: как обеспечить надежную аутентификацию пользователей без ущерба для производительности и масштабируемости? Классические подходы на. . .
Краткий курс по С#
aaLeXAA 18.06.2025
Здесь вы найдете все необходимые функции чтоб написать програму на C# Задание 1: КЛАСС FORM 1 public partial class Form1 : Form { Spisok listin = new Spisok(); . . .
50 самых полезных примеров кода Python для частых задач
py-thonny 17.06.2025
Эффективность работы разработчика часто измеряется не количеством написаных строк, а скоростью решения задач. Готовые сниппеты значительно ускоряют разработку, помогают избежать типичных ошибок и. . .
C# и продвинутые приемы работы с БД
stackOverflow 17.06.2025
Каждый . NET разработчик рано или поздно сталкивается с ситуацией, когда привычные методы работы с базами данных превращаются в источник бессонных ночей. Я сам неоднократно попадал в такие ситуации,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru