Как отбросить дробную часть в c
Перейти к содержимому

Как отбросить дробную часть в c

  • автор:

Отброс дробной части

Определить равна ли сумма k цифр дробной части заданного вещественного числа сумме цифр целой части
Помогите доделать задание, исправьте пожалуйста код. Срочно! Задание: Выполнить задания, выделяя.

Определения, равна сумма цифр целой части вещественного числа сумме такого же количества цифр в дробной части
Нада написать 2 программки 1. Определения, равна сумма цифр целой части вещественного числа.

Вывести старшую цифру дробной части и младшую цифру целой части числа
Искал у вас, не нашел. Я новичок в этом деле, если вам не трудно напишите полностью решение ща.

Округление дробной части
Помогите пожалуйста. Как реализовать метод округления дробной части до 0,1 (0,36 -> 0,4; 0.

Как на C выделить целую часть числа и как округлить число до ближайшего целого?

Хотите целую часть? — Сделайте явное приведение типов:

double a = 1.11 b = (int) a 

Хотите узнать дробную часть? Разделите число на него же, но после приведения типов и проанализируйте остаток от деления через if-else блок: сможете своим способом округление сделать.

Или не забывайте про библиотеку math. C++ style:

double d = 2.71; double x, y; y = std::modf(d, &x); // целая часть запишется в x, дробная - в y 

Как отбросить дробную часть в c

Профиль
Группа: Участник
Сообщений: 32
Регистрация: 1.4.2007

Репутация: нет
Всего: нет

Необходимо отбросить дробную часть у числа типа double и наоборот отбросить целую часть у числа типа double?

Профиль
Группа: Участник
Сообщений: 491
Регистрация: 16.11.2005

Репутация: 2
Всего: 2

Код
double d = 12.5;
Console.WriteLine(«Целая часть: «, (int)d);
Console.WriteLine(«Дробная часть: «, d-(int)d);

Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232

По чисто идеологическим соображениям советую класс Math вместо приведения к инту:

Код
double d = 12.5;
Console.WriteLine(«Целая часть: «, Math.Floor(d));
Console.WriteLine(«Дробная часть: «, d — Math.Floor(d));

user posted image

Профиль
Группа: Участник
Сообщений: 94
Регистрация: 17.4.2007
Где: Украина, Донецк

Репутация: 4
Всего: 5

mr.DUDA, Согласен с идеологическими соображениями.
Как вариант:

Код
double a = 3.13;
double b = Math.Truncate ( a );
double c = a — Math.Truncate ( a );
Console.WriteLine ( a );
Console.WriteLine ( b );
Console.WriteLine ( c );
  • Что же такое .NET? Краткое описание,изучаем.
  • Какой язык программирования выбрать? выбираем.
  • C#. С чего начать? начинаем.
  • Защита исходного кода .NET приложений, защищаем.
  • Литература по .NET, обращаемся.
  • FAQ раздела,ищем здесь.
  • Архиполезные ссылки:www.connectionstrings.com, www.pinvoke.net, www.codeproject.com

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »

[ Время генерации скрипта: 0.1348 ] [ Использовано запросов: 21 ] [ GZIP включён ]

Как отбросить дробную часть в c

Регистрация: 05.11.2011

Сообщений: 8

Отбросить дробную часть от числа типа double не выходит! Си

В общем задача такова:
ввожу десятизначное положительное число типа double с клавиатуры.
нужно сделать проверку, чтоб это число было без дробной части.
тоесть если например: 5555555555.354 — чтоб выдавал ошибку и повторить ввод.

double y; do < e[i].nom=-1; fflush(stdin); scanf("%lf",&e[i].nom); y=e[i].nom-floor(e[i].nom); if (e[i].nom<1000000000.0||e[i].nom>9999999999.0||y>0) printf(" Неверный ввод. Повтори, пожалуйста: "); > while((e[i].nom<1000000000.0)||(e[i].nom>9999999999.0||y>0);

библиотеку math.h включил
пишу на dev c++
Заранее спасибо!

Форумчанин

Регистрация: 09.10.2010

Сообщений: 217

А если вводить не в double, а в string или char* тут все просто (проверить символы после точки). И cmath вообще не нужна будет.

Ё ж птица гордая, пока не пнешь не полетит.

Пользователь

Регистрация: 24.01.2011

Сообщений: 67

int buf = число - (int)число; if (buf !=0) Ввод неверный

Регистрация: 16.12.2011

Сообщений: 3

double value = 6.566; if (static_cast(static_cast(value)) == value) std::cout 

схематично так..

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *