nsnumber 浮点后校验位

Nsnumber checking digits after floating point

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

例如,这给了我起始值

14.85

我想在这里做几件事,首先我想提取小数点后的数字。在本例中为 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;

这里有一个简单的例子:

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");
}