我在ViewDidLoad中只写了这四行,并面临意外的输出,
// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad {
[super viewDidLoad];
float a = 15.264;
NSLog(@"FLoat is %f",a);
float b = 10/60;
NSLog(@"FLoat is %f",b);
}
在第一个浮点数a中显示正确的值,该值被分配给a,但是b显示为0.0000,为什么?
答案 0 :(得分:3)
如果要声明浮点数,则应使用以下格式声明它们:x.xf
。 E.g float b = 10.0f/60.0f
答案 1 :(得分:2)
您正在将整数除法的结果赋给float,这意味着,结果将在分配之前被截断。换句话说,10/60
0.1666...
会产生结果0
,然后将其分配给b
。因此,b
的值为零。
答案 2 :(得分:2)
由于两个操作数都是整数,因此除法的结果是整数(0)。如果你想要你的师的浮动结果你应该使用
float b = 10.0/60.0
甚至
float b = 10.0/60
因为你需要至少有一个操作数是浮动的。
答案 3 :(得分:1)
试试这个,
浮动b = 10.0 / 60.0,
bcox,只需10/60 return int