J'ai une valeur double comme 22,368511 Je veux l'arrondir à 2 décimales. c'est-à-dire qu'il devrait renvoyer 22,37
Comment puis je faire ça?
iphone
objective-c
cocoa-touch
testndtv
la source
la source
Réponses:
Comme dans la plupart des langues, le format est
vous pouvez voir plus d'exemples ici
Edit : j'ai aussi ceci si vous êtes préoccupé par l'affichage du point dans les cas de 25,00
la source
setPositiveFormat:
, car lasetFormat:
méthode n'existait pas (définie uniquement pour Mac), mais quand même - excellente réponse, m'a sauvé des heures d'expérimentation, donc +1 et grand merci à vous :)Vous pouvez utiliser le code ci-dessous pour le formater à deux décimales
Swift 4:
la source
la source
la source
Dans Swift 2.0 et Xcode 7.2:
Exemple:
la source
Vous pouvez utiliser la fonction NSDecimalRound
la source
Pour supprimer les décimales de votre double, jetez un œil à cette sortie
Obj C
La sortie sera:
Swift 2.1 et Xcode 7.2.1
La sortie sera:
la source
J'allais accepter la réponse de Jason mais j'ai remarqué que dans Ma version de Xcode (4.3.3) je ne pouvais pas faire ça. donc après un peu de recherche, j'ai découvert qu'ils avaient récemment changé les méthodes de classe et supprimé toutes les anciennes. alors voici comment je devais le faire:
la source
Utilisez NSNumber * aNumber = [NSNumber numberWithDouble: number]; au lieu de NSNumber * aNumber = [NSNumber numberWithFloat: number];
la source
Pour Swift, il existe une solution simple si vous ne pouvez pas importer Foundation, utilisez round () et / ou ne voulez pas de String (généralement le cas lorsque vous êtes dans Playground):
résultat: 31.726
la source
J'utilise la solution publiée par Umberto Raimondi étendant le type Double:
la source
Vous pouvez faire ceci:
la source