Question

J'ai simplifed quelques méthodes pour faciliter la compréhension et la correction de l'erreur. Je reçois un « nan » au lieu d'obtenir le numéro et ne comprends pas pourquoi. Je veux mettre la méthode getNumber dans l'instruction de retour. Quand j'ai la méthode à l'intérieur retourne une chaîne de nan mais quand je viens de mettre 26 à l'intérieur retourne 26, ce que je veux.

-(double) getNumber { return 26; }


-(NSString *) convertToString {
        return [NSMutableString stringWithFormat: @"%Lf",[self getNumber]];
// returns 'nan'           when I replace [self getNumber] with 15 I get 15
}
Était-ce utile?

La solution

Vous pouvez utiliser "% f" au lieu de "% Lf", puisque vous passez un double, pas long double

Autres conseils

Vous avez quelques problèmes dans votre code.

  1. Retour un double, pas un nombre entier getNumber. Bien que la contrainte automatique se produit, écrire un code propre.
  2. Utilisez le spécificateur de format %g, non %Lf. %g est en double.

Il est votre spécificateur de format. Vous devez utiliser "% g" pour mettre en forme un double.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top