#include <math.h>
void main(void)
{
double x1,xd;
xd = modf(8.02, &x1);
printf("%e\n", xd);
}
преобразование вещ.чисел
#include <math.h>
void main(void)
{
double x1,xd;
xd = modf(8.02, &x1);
}
Но в итоге в переменной xd хранится 0.019999999 (и при выводе на экран 2 знаков после точки получаю 0.01)
Все-таки нужно 0.02.
?
Цитата: michael_is_98
Но в итоге в переменной xd хранится 0.019999999 (и при выводе на экран 2 знаков после точки получаю 0.01)
Все-таки нужно 0.02.
?
Все-таки нужно 0.02.
?
Вот твой код:
Код:
У меня вывод:
Код:
2.000000e-02
???????
sprintf, printf действительно умеют округлять числа, поэтому можно сначала из числа xd*100. получить текст, из текста функцией strtod вещественное число , из вещественного - целое.
Неужели нет другого способа?