我有兩個浮點值'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