2013-08-09 4 views
0

Ceci est ma méthode Button. Lorsque j'appuie sur le bouton, sa valeur est chaque fois incrémentée de & dans Label. Puis c'est atteindre 6 puis convertir comme 1.0, 7 = 1.1, 8 = 1.2, 12 comme 2.0 comme le cricket sur le format.comment convertir la valeur d'un format dans un autre format?

Comment puis-je faire cela?

-(void)OneNoBTNPressedMethod 
{ 
    // LBL it's my label & display the text 

    NSString * overStorage = LBL.text; 

    // perform the addition operation 

    CalcOperation operation; 

    operation = Plus; 

    //add one every time when we press the button 

    NSString * overOneBTNStr = [NSString stringWithFormat:@"1"]; 
    NSString *overVal = overOneBTNStr; 

    LBL.text= [NSString stringWithFormat:@"%qi",[overVal longLongValue]+[overStorage longLongValue]]; 
} 

Thanx à l'avance ..

+0

votre compte commence par 0,1 ou 1? –

+0

@PratyushaTerli compteur commencer avec 1. merci pour votre réponse. – Rain

+0

Donc, comme: 1, 2, 3, 4, 5, 1.0 (pour 6), 1.1 (pour 7), 1.2 (pour 8), 1.3 (pour 9), 1.4 (pour 10), 1.5 (pour 11), 2,0 (pour 12)? Peut-être que je manque quelque chose mais qu'est-ce que "cricket sur le format?" – Firo

Répondre

0

Il a travaillé pour moi. J'espère que cela fonctionne pour vous aussi. En supposant que votre LBL contient "1" comme texte initial. espérons que cela aide

- OneNoBTNPressedMethod { 
    NSString *str = LBL.text; 
    NSArray *arr = [str componentsSeparatedByString:@"."]; 
    if ([arr count] == 1) { 
     if ([LBL.text intValue] >= 5) { 
      LBL.text = [NSString stringWithFormat:@"%i.%i",0,0]; 
     } else { 
      LBL.text = [NSString stringWithFormat:@"%i",[LBL.text intValue] + 1]; 
     } 
    } else if ([arr count] == 2) { 
     if ([[arr objectAtIndex:1] intValue] >= 5) { 
      int left = [[arr objectAtIndex:0] intValue] + 1; 
      LBL.text = [NSString stringWithFormat:@"%i.%i",left,0]; 
     } else { 
      LBL.text = [NSString stringWithFormat:@"%i.%i",[[arr objectAtIndex:0] intValue],[[arr objectAtIndex:1] intValue] + 1]; 
     } 
    } 
} 
+0

merci beaucoup, c'est proche de mon problème. ma chaîne d'étiquette est nulle au début et ma première valeur est comme 1.0 pas 0.0 mais je comprends le scénario. Merci beaucoup...... – Rain

0

Essayez cette logique

Let `int num` is count 
Then 

numBeforeDecimal = num/6; 
numAfterDecimal = num%6; 

Concatenate deux Numéro

[NSString stringWithFormat: @"%d.%d",numBeforeDecimal,numAfterDecimal]; 
Questions connexes