я хочу преобразовать дробную часть двойного значения с точностью до 4 цифр в целое число. но когда я это делаю, я теряю точность. Есть ли способ, чтобы я мог получить точное значение?
#include<stdio.h>
int main()
{
double number;
double fractional_part;
int output;
number = 1.1234;
fractional_part = number-(int)number;
fractional_part = fractional_part*10000.0;
printf("%lf\n",fractional_part);
output = (int)fractional_part;
printf("%d\n",output);
return 0;
}
Я ожидаю, что результат будет 1234, но он дает 1233. Пожалуйста, предложите способ, чтобы я мог получить желаемый результат. Я хочу решение на языке C.