Je possède ce bloc de code exécuté lorsque vous appuyez sur un numéro:Quel est le problème avec ce format de chaîne (comportement différent sur le simulateur et l'appareil)?
NSString *currentValue = [@"" stringByAppendingFormat:@"%.02f", [[[[[textField text] stringByReplacingOccurrencesOfString:@"." withString:@""] stringByReplacingOccurrencesOfString:@"," withString:@""] stringByReplacingOccurrencesOfString:@" " withString:@""] doubleValue]/100.0f];
//I am using this to obtain always a number with 2 decimals.
NSNumberFormatter *f = [[NSNumberFormatter alloc] init];
[f setNumberStyle:NSNumberFormatterDecimalStyle];
[f setMinimumFractionDigits:2];
[f setMaximumFractionDigits:2];
[f setGroupingSeparator:@" "];
NSNumber *currentNumberValue = [f numberFromString:currentValue];
NSLog(@"1: %@", currentValue);
NSLog(@"2: %@", [currentNumberValue stringValue]);
Maintenant, si je lance ceci dans le simulateur et appuyez sur 3 j'obtenir les résultats suivants:
1: 0.03
2: 0.03
Si je l'exécute sur l'appareil je:
1: 0.03
2: 0
donc, fondamentalement, sur l'appareil le numéro est 0. formated
Ce que j'ai pas non plus glacé est que sur le simulateur je reçois '. 'comme séparateur décimal et sur l'appareil, j'ai' , '.
Et pour cette raison, il ne va jamais plus loin. Tout nombre que je presse il reste encore 0.
Ce qui semble être le problème?
Quels sont vos paramètres internationaux/régionaux sur l'appareil par rapport au simulateur? – Anna