88 votes

Ronde double de la valeur à 2 décimales

J'ai un double de la valeur que 22.368511 Je veux arrondir à 2 chiffres après la virgule. c'est à dire qu'il doit retourner 22.37

Comment puis-je le faire?

191voto

Jason Rogers Points 8924

Comme dans la plupart des langues, le format est

%.2f

vous pouvez voir plus d'exemples ici


modifier

J'ai aussi eu cette si votre préoccupés par l'affichage du point en cas de 25.00

{
        NSNumberFormatter *fmt = [[NSNumberFormatter alloc] init];
        [fmt setFormat:@"0.##"];
        NSLog(@"%@", [fmt stringFromNumber:[NSNumber numberWithFloat:25.342]]);
        NSLog(@"%@", [fmt stringFromNumber:[NSNumber numberWithFloat:25.3]]);
        NSLog(@"%@", [fmt stringFromNumber:[NSNumber numberWithFloat:25.0]]);
    }
2010-08-22 15:04:10.614 a.out[6954:903] 25.34
2010-08-22 15:04:10.616 a.out[6954:903] 25.3
2010-08-22 15:04:10.617 a.out[6954:903] 25

73voto

Saikiran Points 1998

Vous pouvez utiliser le code ci-dessous pour le formater à deux décimales

NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];

[formatter setNumberStyle:NSNumberFormatterDecimalStyle];
[formatter setMaximumFractionDigits:2];
[formatter setRoundingMode: NSNumberFormatterRoundUp];

NSString *numberString = [formatter stringFromNumber:[NSNumber numberWithFloat:22.368511]];

NSLog(@"Result...%@",numberString);//Result 22.37

30voto

krafter Points 227
 value = (round(value*100)) / 100.0;

15voto

Javy Points 4827
[label setText:@"Value: %.2f", myNumber];

11voto

Fruity Geek Points 4651

Vous pouvez utiliser le NSDecimalRound fonction

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X