2010-08-18 6 views
1

J'ai utilisé NSNUmberFormatter dans une cellule de NSTableView. Ce NSNUmberFormatter est déplacé à partir de la bibliothèque IB et placé dans la cellule de vue de table. Ensuite, à partir de l'inspecteur, les contraintes sont modifiées. Cependant, au cours de l'exécution de l'application, lorsque j'entre certaines valeurs qui ont des zéros finaux, par ex. 9.100, la cellule affiche seulement 9.1. Comment puis-je conserver les zéros de fin?NSNumberFormatter supprime les zéros finaux

Répondre

0

Définissez le nombre de zéros souhaité après la virgule au format du formateur de nombres. Comme mentionné dans les documents, cette classe utilise le Unicode number formatting patterns.

+0

Merci pour le lien. Mais mon problème n'est pas encore résolu. J'ai mis les chiffres de fraction min et max autorisés comme 0-4. Mais quand j'entre 9.100, j'ai besoin de garder les deux derniers 0. Mais à la place, l'affichage est 9.1 – Subrat

+0

Avez-vous essayé de lire la documentation NSNumberFormatter? Les min/max n'ont rien à voir avec le format. Définissez le comportement sur "Mac OS X 10.4+ Custom" et - regardez! - les champs de format sont exposés. –

0

Il est très simple: Il suffit de régler la propriété

minimumFractionDigits 

de votre

NSNumberFormater 

par exemple à ce que nombre de zéros trailings que vous voulez avoir.

Dans mon cas, j'instancié NSNumberFormater la manière suivante pour atteindre zéros pour toutes les valeurs de sortie:

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

numberFormatter.numberStyle = NSNumberFormatterDecimalStyle; 
[numberFormatter setFormatterBehavior:NSNumberFormatterBehavior10_4]; 
numberFormatter.minimumFractionDigits = 2; 
Questions connexes