2010-07-27 13 views
0

Je:NSString Conversion en un doubleValue après l'extraction NSString de UIPicker

NSInteger dollarrow = [ValuesPicker selectedRowInComponent:kDollar]; 

    NSString *dollar = [dollarlist objectAtIndex:dollarrow]; 

    double converteddollar=0; 

Je veux faire une boucle sur ce sujet et obtenir la valeur en double, je suis en train ceci:

for(dollar=1;dollar<=99;dollar++) 
    { 
    converteddollar = converteddollar + 2; 
    } 

maintenant, le dollar contient NSString comment puis-je convertir en double pour faire l'opération avec succès, puis

NSString *message = [[NSString alloc] initWithFormat:@"%0.2f",converteddollar]; 

I a m obtenir des avertissements et l'application plante .. Comment puis-je le corriger. J'apprends l'objectif C s'il vous plaît aidez-moi. Merci. Désolé, je ne voulais pas == Je voulais juste utiliser =

+0

Quels avertissements obtenez-vous? Et qu'est-ce que vous essayez de faire avec cette boucle? – Vladimir

+1

Votre boucle n'est rien ... oubliez les avertissements pour le moment et corrigez d'abord la logique de votre code. – lukya

+0

Erreur: Lvalue requis comme opérande d'incrément si je fais [dollar doubleValue] +1 il n'y a pas d'erreurs mais il se bloque .. –

Répondre

0

Votre boucle for est incorrecte. Tu veux vraiment '=='? Je suppose que vous voulez seulement '='. Tu ne peux pas utiliser quelque chose comme ça? (Je donne juste un exemple pour pointer les erreurs en boucle.Votre exigence peut être quelque chose de différent.Et aussi je n'ai pas compilé le code, ne pas avoir mac avec moi en ce moment.Alors vous pouvez obtenir une erreur mineure)

 
double sum = 0 

for (NSInteger i = 1; i <= 99; i++) { 
    sum += 2; // or whatever you need here 
} 

NSString *convertedStr = [NSString stringWithFormat:@"%lf", sum]; 
+0

le 'i' dans mon cas est un NSString qui a été extrait de l'UIPicker. –

+0

le convertir en int. NSInteger i = [str intValue]; – taskinoor

0

Beaucoup d'erreurs ...

NSInteger dollarrow = [ValuesPicker selectedRowInComponent:kDollar]; 

La méthode selectedRowInComponent: est une méthode membre. Pas un statique. Vous devez l'appeler sur une instance .

== est un opérateur de comparaison. Ce que vous voulez est certainement une cession, avec un seul signe =.

Vous déclarez un pointeur sur un objet NSString. Mais ce n'est pas initialisé.
Vous devez également utiliser une double variable temporaire pour votre boucle. Je ne comprends pas ce que votre boucle est censée faire. Pouvez-vous expliquer un peu?

+0

bien fondamentalement je veux obtenir la valeur en dollars de la valeur sélectionnée du sélecteur .. puis vouloir utiliser la valeur pour définir le convertedollar à +2 de la valeur qu'il était précédemment, supposons que la valeur de convertiedoll dès maintenant est 0.thankyou –

0

NSString *dollar = [dollarlist objectAtIndex:dollarrow];

double converteddollar = [dollar doubleValue]; devrait fonctionner (pas besoin de vous en boucle for)