我有两个浮点值'a'和'b'。如何计算两个浮点值的float提示
我需要计算这两个浮点值的提醒,它必须是浮点值。
让
float a = 1.1;
float b = 0.5;
所以其余为 'r' 应准确值
即R = A%B
R = 1.1%0.5
0.5) 1.1 (2
1.0
______
0.1
r = 0.1
但它会导致float值错误的操作数无效。
怎么办?
我有两个浮点值'a'和'b'。如何计算两个浮点值的float提示
我需要计算这两个浮点值的提醒,它必须是浮点值。
让
float a = 1.1;
float b = 0.5;
所以其余为 'r' 应准确值
即R = A%B
R = 1.1%0.5
0.5) 1.1 (2
1.0
______
0.1
r = 0.1
但它会导致float值错误的操作数无效。
怎么办?
在C,C++和Objective-C中将会是fmod
。
你有没有声明?
float r;
你必须这样做之前,你可以做任何计算
所以
float r;
float a = 1.1;
float b = 0.5;
r = a % b;
在C(和C++?)中,对'%'操作符的操作数使用浮点数是无效的。 – JeremyP 2012-04-05 10:05:15
使用FMOD()
#include <math.h>
double x,y,z;
x = 1.1;
y = 0.5;
z = fmod(x,y)
不要tforget的-lm如果你在linux/unix/mac-osx /上,则使用liker标志。
更多信息
$man fmod
试用
float x = (float)(1.1 % 0.5);
NSLog(@"%f",x);
希望这有助于。
@Ranga当然,这也可以在Java中使用。但是你不能在java中使用fmod()。 – 2012-04-05 10:28:06
%仅在C或C++中使用整数(int)%(int) – 2015-09-10 04:31:54
哪种语言? – Jon 2012-04-05 09:48:54
这是为什么对于java,C++,objective-c和c?你在4个项目中使用它? – RvdK 2012-04-05 09:50:06
它看起来不像Java,因为'1.1%0.5'在Java中是合法的。 (无论他做什么,他都不会得到“准确”的价值,对于初学者来说,他甚至没有准确的'1.1'值,因为在大多数机器浮动中'1.1'不能完全表示点。) – 2012-04-05 10:03:30