user1445205
user1445205

Reputation:

Always returning null in NSString return function

I have the following code where I want to convert decimal odds to fractional odds. However the function findNearestWholeInteger always returns null.

- (NSString *)displayOddWithFormat:(NSString *)decimalOdd {

   if ([[NSUserDefaults standardUserDefaults] boolForKey:@"FractionalOdds"] == YES) {
       float oddsF = decimalOdd.floatValue;
       oddsF = oddsF - 1.0f;
       return [self findNearestWholeInteger:oddsF andInitial:oddsF andBottom:1];
   } else {
       return odd;
   }
}

- (NSString *)findNearestWholeInteger:(float)odds andInitial:(float)initial andBottom:(float)bottom {

   NSNumber *numberValue = [NSNumber numberWithFloat:odds];
   NSString *floatString = [numberValue stringValue];
   NSArray *floatStringComps = [floatString componentsSeparatedByString:@"."];

   if (floatStringComps.count == 1) {
       return [NSString stringWithFormat:@"%.f/%.f", odds, bottom];
   } else {
       bottom += 1;
       odds += initial;
       [self findNearestWholeInteger:odds andInitial:initial andBottom:bottom];
       return nil;
   }
}

Any ideas where I need to adapt my code? Thanks in advance!

Upvotes: 0

Views: 109

Answers (1)

trojanfoe
trojanfoe

Reputation: 122421

Don't you want:

return [self findNearestWholeInteger:odds andInitial:initial andBottom:bottom];
//return nil;

(not that I really understand what the method is doing).

Upvotes: 1

Related Questions