浮点数后的nsnumber检查位数

时间:2018-10-30 08:15:36

标签: objective-c nsnumber

我正在从浮点值构造NSNumber对象。NSNumber *start =[NSNumber numberWithFloat:[self obj.value]];

例如,这给了我起步价

  

14.85

我想在这里做几件事,首先我要提取小数点后的数字。在这种情况下,我想将85分配给一个临时对象。 然后,我将对这个新创建的临时对象执行以下检查。

if (temp >=30){
start = 14.30;
}
else start== 14.0 ;

我有一个简单的C浮点数想法,可以实现以下目标

if ((res-(int)res>=30))
        res= (int)res +.30;
        else res = (int)res;

1 个答案:

答案 0 :(得分:0)

这里有一个简单的示例:

NSNumber *start = [NSNumber numberWithFloat:14.85];
float startFloat = [start floatValue];
int startInt = [start intValue];
int decimalPart =  (startFloat - startInt) * 100 ;

if (decimalPart >= 30){
    NSLog(@"------------- decimalPart >= 30");
    NSLog(@"------------- Do something");

}
else {
    NSLog(@" ------------- decimalPart < 30");
    NSLog(@"------------- Do something");
}