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

Как преобразовать дробную часть числа типа double в int - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Игра "Города" http://www.cyberforum.ru/cpp-beginners/thread319429.html
Очень нужна игра "в города", на сях написанная. сам в программировании не силен. с меня небольшое денежное вознаграждение. Должна представлять из себя поочередное называение городов игроком и компьютером (по известным правилам)
C++ Строки Дана строка, подстрока и число N. Найти позицию N-го вхождения подстроки в строку. Кто может напишите решение этой задачи...пожалуйста! http://www.cyberforum.ru/cpp-beginners/thread319426.html
C++ Известны фамилии 25-ти человек, их семейное положение:женат(замужем) или нет, и сведения о наличии детей(есть или нет). Определить фамилии:
Известны фамилии 25-ти человек, их семейное положение:женат(замужем) или нет, и сведения о наличии детей(есть или нет). Определить фамилии женатых(замужних) людей имеющих детей.
C++ Поменять местами элементы матрицы, расположенные в верхнем правом и нижнем левом углах
Дан двумерный массив. поменять местами: а) Элементы расположенные в верхнем правом и нижнем левом углах; б) Элементы расположенные в нижнем правом и в верхнем левом углах.
C++ Напечатать таблицу соответствия между весом в фунтах и весом в килограммах http://www.cyberforum.ru/cpp-beginners/thread319416.html
Напечатать таблицу соответствия между весом в фунтах и весом в килограммах для значений 1, 2, ... ,10 фунтов(1 фунт=453г)
C++ Напечатать числа следующим образом: а) 21 19.2 20 18.2 19 17.2 ... ... 10 8.2 б) 45 44.5 44.2 44 43.5 43.2 ... ... ... подробнее

Показать сообщение отдельно
diagon
Higher
1924 / 1190 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
14.06.2011, 13:55     Как преобразовать дробную часть числа типа double в int
У меня что-то такое получилось. Можно еще вытаскивать до нуля, но если будет, например 1.203
то 3 обрежется.
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
int main(){
    double d = 123.5;
    int a = d,b;
    d-=a;
    int t=2;  //точность
    while (t--) d*=10;
    b = d;
    std::cout << a << '.' << b;
    return 0;
}
Но из-за кривости вещественных чисел иногда немного не те значения получатся будут, например 12.6 с точностью 2 перекачует в 12.5(9)
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru