我试图将double
值转换为int
,我得到了不同的值。
我有这段代码:
double double100times = 240;
int a=[[NSNumber numberWithDouble:double100times] intValue];
我从中得到的值是a=239
。
如果我使用int a= (int)double100times
,我会获得相同的值。
为什么会这样?
更新:如果我使用double double100times = 240;作品, 但我正在使用:
double double100times = (2.3*100)+10;
答案 0 :(得分:0)
我试过这段代码
double double100times = 240;
int a=[[NSNumber numberWithDouble:double100times] intValue];
NSLog(@"Integer : %d",a);
结果我
整数:240
您确定,请再次检查您的日志..
编辑: -
解决方案..
double double100times = ((2.3*100)+10);
NSLog(@"Value : %f",double100times);
int a=[[NSNumber numberWithDouble:double100times] intValue];
int b = [[NSString stringWithFormat:@"%f",double100times] intValue];
NSLog(@"Integer : %d",a);
NSLog(@"Integer : %d",b);