如何对两个float类型的数进行求余?

来源:百度知道 编辑:UC知道 时间:2024/05/18 01:52:40
例如:两个任意数a,b 在float类型进行了加法,但同时也要进行求余,但求余要用到整型,请问如何将这两任意数在float类型下进行转换成整型,求高手写个代码,THANK,我是新手,不懂勇于问.
用C++

float类型转化为整型最简单的就是强转,如
int a;
float b;
b = 100.5;
a = (int)b;
然后进行求余,这样有一个问题就是在强转的时候会损失精度。

另外,float也可以直接求余,用fmod,定义在math.h中,用法如下
float a,x,y;
a = fmod(x,y);

按常规的话两个非INT型数据进行求余数,运行时必会报错,所以需要进行强制转换!
main()
{
float a,b;
int c;
scanf("%f%f",&a,&b);
c=(int)a%(int)b;
printf("%d",c);

}
如果你最后需要以小数输出的话可以这样写
main()
{
float a,b,c;
scanf("%f%f",&a,&b);
c=(int)a%(int)b;
printf("%f",c);

}

如果你单纯只是想得到余数,可以用c = a-((int)(a / b) * b);

其中(int)(a / b)是对a / b进行除法,并强制类型转换加(int)进行趋零截尾;
举个例子:
#include <stdio.h>
#define CM_PER_IN 2.54// 1英寸 = 2.54厘米
#define IN_PER_FEET 12// 1英尺 = 12 英寸
int main(void)
{
float cm, inch, left;//其中left即为所求float余数
int feet;

printf("Enter a height in