Existe-t-il des méthodes équivalentes pour ceilf et floorf pour le type NSDecimalNumber? Je n'arrivais pas à en trouver.méthodes équivalentes ceilf et floorf pour NSDecimalNumber
1
A
Répondre
7
solution simple: Vous pouvez obtenir la valeur de l'objet flottant de numéro et appeler ceilf()
ou floorf()
:
ceilf([decimalNumber floatValue]);
Sinon, vous pouvez utiliser la méthode – decimalNumberByRoundingAccordingToBehavior:
.
D'abord, vous aurez besoin de mettre en œuvre le protocole NSDecimalNumberBehaviors
pour chaque mode d'arrondi que vous souhaitez utiliser:
@interface DecimalRounder : NSObject <NSDecimalNumberBehaviors> { }
@end
@implementation DecimalRounder
- (NSRoundingMode)roundingMode {
return NSRoundUp;
}
- (short)scale {
return 0;
}
@end
Et puis (en supposant que votre nombre décimal est 12.5):
DecimalRounder *rounder = [[DecimalRounder alloc] init];
NSDecimalNumber *decimalNumber = [[NSDecimalNumber alloc] initWithFloat:12.5];
NSDecimalNumber *roundedNumber = [decimalNumber decimalNumberByRoundingAccordingToBehavior:rounder];
NSLog(@"decimalNumber: %@", decimalNumber);
NSLog(@"roundedNumber: %@", roundedNumber);
Vous » Je vais:
decimalNumber: 12.5
roundedNumber: 13
Questions connexes
- 1. Soustraction NSDecimalNumber
- 2. Convertir NSValue en NSDecimalNumber
- 3. QT (4) macros équivalentes/méthodes/constantes pour leurs homologues de l'API Win32?
- 4. Conversion NSDecimalNumber à NSString
- 5. NSDecimalNumber multiplication étrangeté
- 6. Plus libérant une NSDecimalNumber
- 7. Pages Web équivalentes pour ASP.Net MVC
- 8. Comment convertir NSDecimalNumber en NSInteger?
- 9. NSDecimalNumber et les chiffres pop-off hors de la fin
- 10. Variables globales ou équivalentes en C#
- 11. Fenêtres équivalentes à UNIX pwd
- 12. Les expressions Lambda et Linq suivantes sont-elles équivalentes?
- 13. zéros NSDecimalNumber suivants point décimal (iPhone SDK)
- 14. plantage dur à l'aide [NSDecimalNumber stringValue]
- 15. Élever un NSDecimalNumber à une puissance négative
- 16. Où trouver une description de toutes les fonctions mathématiques comme floorf et autres?
- 17. Créer des classes équivalentes en Python?
- 18. Variables non équivalentes fstream vs. déclaration
- 19. Méthodes statiques et méthodes d'instance en mémoire
- 20. Primitives 3D DirectX équivalentes dans WPF?
- 21. Equivalent des méthodes 'gss_import_name' et 'gss_init_sec_context' dans java?
- 22. méthodes setter et getter
- 23. AS3: Interfaces et méthodes
- 24. Décorateurs et méthodes virtuelles
- 25. Outils et méthodes
- 26. NSNumberFormatter est-il le seul moyen de formater un NSDecimalNumber?
- 27. Méthodes et délégués anonymes
- 28. décorateurs et méthodes python
- 29. méthodes surcharger et surcharger
- 30. Méthodes d'encapsulation et d'héritage
Je suis allé avec la deuxième option parce que la conversion à flotter (ou double) perd pr ecision. – rein