我想将精度高达 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语言的解决方案。