Nsnumber проверка цифр после числа с плавающей запятой - PullRequest
0 голосов
/ 30 октября 2018

Я создаю объект 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;

1 Ответ

0 голосов
/ 30 октября 2018

Вот вам пример того, как вы можете сделать это просто:

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