74 votes

Arrondissement des nombres en Objective-C

Je suis en train de faire un certain nombre d'arrondi et de la conversion d'une chaîne de caractères à améliorer la sortie en Objective-C programme.

J'ai un float valeur que je tiens à tour la plus proche, 5 et ensuite l'utiliser pour définir le texte sur l'étiquette.

Par exemple:

1.4 serait une chaîne de: 1.5

1.2 serait une chaîne de: 1

0.2 serait une chaîne d': 0

J'ai passé un certain temps à la recherche sur Google pour une réponse, mais, étant un noob avec Objective-C, je ne suis pas sûr de ce de recherche! Alors, j'apprécierais vraiment un pointeur dans la bonne direction!

Merci, Ash

100voto

Ash Points 1348

Merci pour les pointeurs de tout le monde, j'ai réussi à trouver une solution:

float roundedValue = round(2.0f * number) / 2.0f;
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setMaximumFractionDigits:1];
[formatter setRoundingMode: NSNumberFormatterRoundDown];

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

Les travaux ci-dessus pour le cas de test, j'ai jeté à cela, mais si quelqu'un connaît une meilleure façon pour ce faire, je serais intéressé à entendre!

37voto

HDA Points 2590
float floatVal = 1.23456;

L'arrondissement

int roundedVal = lroundf(floatVal); 

NSLog(@"%d",roundedVal);

Arrondissement

int roundedUpVal = ceil(floatVal); 

NSLog(@"%d",roundedUpVal);

Arrondi Vers Le Bas

int roundedDownVal = floor(floatVal);

NSLog(@"%d",roundedDownVal);

32voto

keremk Points 2043
NSString *numberString = [NSString stringWithFormat:@"%f", round(2.0f * number) / 2.0f];

11voto

Simpu Points 241
NSString *numberString = [NSString stringWithFormat:@"%d",lroundf(number)];

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