2012-04-05 69 views
6

我有兩個浮點值'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值錯誤的操作數無效。

怎麼辦?

+3

哪種語言? – Jon 2012-04-05 09:48:54

+1

這是爲什麼對於java,C++,objective-c和c?你在4個項目中使用它? – RvdK 2012-04-05 09:50:06

+0

它看起來不像Java,因爲'1.1%0.5'在Java中是合法的。 (無論他做什麼,他都不會得到「準確」的價值,對於初學者來說,他甚至沒有準確的'1.1'值,因爲在大多數機器浮動中'1.1'不能完全表示點。) – 2012-04-05 10:03:30

回答

13

在C,C++和Objective-C中將會是fmod

1

你有沒有聲明?

float r; 

你必須這樣做之前,你可以做任何計算

所以

float r; 

float a = 1.1; 
float b = 0.5; 

r = a % b; 
+0

在C(和C++?)中,對'%'操作符的操作數使用浮點數是無效的。 – JeremyP 2012-04-05 10:05:15

5

使用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 
2

試用

float x = (float)(1.1 % 0.5); 
NSLog(@"%f",x); 

希望這有助於。

+0

@Ranga當然,這也可以在Java中使用。但是你不能在java中使用fmod()。 – 2012-04-05 10:28:06

+1

%僅在C或C++中使用整數(int)%(int) – 2015-09-10 04:31:54