1

Ok donc si j'ai un double pour commencer comment puis-je limiter ou tronquer les chiffres à 1DP car je sais qu'ils ne sont pas nécessaires pour être vuComment tronquer .000 zéros de double avec NSNumberFormatter

double a = 1.6; 

NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init]; 
NSString *numberAsString = [numberFormatter stringFromNumber:[NSNumber numberWithDouble:a]]; 

[numberFormatter setNumberStyle:NSNumberFormatterDecimalStyle]; 
[numberFormatter setGeneratesDecimalNumbers:YES]; 
[numberFormatter setMaximumFractionDigits:1]; 
[numberFormatter setMinimumFractionDigits:1]; 
[numberFormatter setAlwaysShowsDecimalSeparator:YES]; 

NSLog(@"a raw: %f", a); //outputs 1.600000 

myLabel.text = [NSString stringWithFormat:@"%@",numberAsString]; 

NSLog(@"Formatted a: %@", numberAsString); //outputs 2 

[numberFormatter release]; 

Donc, le problème est qu'il arrondit la valeur et ne laisse aucune décimale, j'essaye de l'obtenir pour produire juste 1.6 pour myLabel.

+0

http://stackoverflow.com/questions/7469614/remove-more-than-2-trailing-zero/ 7470191 # 7470191 –

Répondre

1

Je ne suis pas sûr, mais vous pouvez essayer avec NSString *formatted = [NSString stringWithFormat:@"%.1f", a];, puis utilisez le format que le texte de l'étiquette

+0

Oui, c'est ce dont j'avais besoin - merci – Tris