Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

преобразование вещ.чисел

284
24 августа 2007 года
michael_is_98
587 / / 25.02.2005
Маленькая программа

#include <math.h>
void main(void)
{
double x1,xd;
xd = modf(8.02, &x1);
}

Но в итоге в переменной xd хранится 0.019999999 (и при выводе на экран 2 знаков после точки получаю 0.01)
Все-таки нужно 0.02.
?
1.8K
24 августа 2007 года
igor_nf
256 / / 13.12.2006
Цитата: michael_is_98
Но в итоге в переменной xd хранится 0.019999999 (и при выводе на экран 2 знаков после точки получаю 0.01)
Все-таки нужно 0.02.
?


Вот твой код:

 
Код:
#include <math.h>
void main(void)
{
double x1,xd;
xd = modf(8.02, &x1);
printf("%e\n", xd);
}

У меня вывод:
 
Код:
2.000000e-02

???????
284
24 августа 2007 года
michael_is_98
587 / / 25.02.2005
Дело в том, что мне нужно из числа xd*100. получить целое число, а затем, в зависимости от значения, вывести тот или иной текст.

sprintf, printf действительно умеют округлять числа, поэтому можно сначала из числа xd*100. получить текст, из текста функцией strtod вещественное число , из вещественного - целое.

Неужели нет другого способа?
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог