我尝试执行此操作,因此请查看此操作是仅采用完整部分(20%4)
还是全部(20.4%4.4)
float x = 20.4;
float y = 4.0;
float z;
z = x%y;
得到了这个编译器error
:
表达式必须具有整数类型
答案 0 :(得分:3)
您只能使用%
来获取整数除法的余数。
要获得浮点除法的余数,请改用fmod()
函数。
答案 1 :(得分:2)
您可以使用modff
来解决问题。
float res = modff(x,&y)
整数部分存储在y
中,并返回小数部分。 %
无法与非整数类型一起使用。
答案 2 :(得分:0)
无法模数浮点数。解决这个问题。
float x = 20.4
int xint = (int)(x);
int y = 4;
float z = x % y + (x-xint)