如何使用循环、+ - * / 和 %(取模)编写 RoundDown() 函数?
How to write a RoundDown() function with loops, + - * / and % (modulo)?
我只是在想,如果你只有循环,+ - * / 和 %(取模)。
是否可以将浮点数向下舍入为下一个整数?
例如 278.791 到 278?
这个问题我想了很久,还是没找到解决办法。有可能吗?
在 Python % 有效:
#!/usr/bin/python
x = 278.791
y = x - (x % 1)
print x, y
在 C 中必须使用其他方法:
#include <stdio.h>
#include <math.h>
int main() {
float x = 278.791;
float y = fmod(x,1.0);
printf("%f, %f\n", x, y);
x = 278.791;
y = x - (int)x;
printf("%f, %f\n", x, y);
}
我只是在想,如果你只有循环,+ - * / 和 %(取模)。
是否可以将浮点数向下舍入为下一个整数?
例如 278.791 到 278?
这个问题我想了很久,还是没找到解决办法。有可能吗?
在 Python % 有效:
#!/usr/bin/python
x = 278.791
y = x - (x % 1)
print x, y
在 C 中必须使用其他方法:
#include <stdio.h>
#include <math.h>
int main() {
float x = 278.791;
float y = fmod(x,1.0);
printf("%f, %f\n", x, y);
x = 278.791;
y = x - (int)x;
printf("%f, %f\n", x, y);
}