小数如何变成整数的问题
我的问题是:一个小数用什么方法能够只取它的整数部分赋给一个变量呢?写出算法……----------------解决方案--------------------------------------------------------
double x=123.45678;
long ix=x;
printf("%ld\n",ix); //output 123
OK?
----------------解决方案--------------------------------------------------------
.......取整........ -________-
n = (int)3.115926;
----------------解决方案--------------------------------------------------------
也就是说要进行强制类型转换,是吗?
----------------解决方案--------------------------------------------------------
当|x|不超过21亿时,用此种方法最为简便。
当|x|超过21亿时,另想他法。。。。。。
----------------解决方案--------------------------------------------------------
....呵呵
----------------解决方案--------------------------------------------------------
绝对值很大的数x,怎样分离它的整部与小数部呢?
/* modf.c */
#include <math.h>
main( )
{
double x;
double puredec,intpart;
printf("input a double: ");
scanf("%lf",&x);
puredec = modf( x, &intpart );
printf("integer part = %.0lf\n",intpart);
printf("pure decimal = %.8lf\n",puredec);
}
----------------解决方案--------------------------------------------------------
也就是用函数了
----------------解决方案--------------------------------------------------------
不用函数原则上也行,但要求你非常熟悉IEEE关于
float,double和long double类型数据的编码规则
----------------解决方案--------------------------------------------------------