2009-06-11 11 views
3

J'ai un code pour formater une chaîne de taille du fichier:Que représente un hash/pound (#) dans une chaîne de format?

NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init]; 
[numberFormatter setPositiveFormat: @"#,##0.## bytes"]; 

Est-ce le @"#,##0.## bytes" le même genre de chaîne de format que j'utiliser dans stringWithFormat? Que signifient les symboles hash/pound ici? #

Répondre

6

# sera généralement remplacé par un nombre s'il existe, et rien si ce n'est pas le cas. 0 sera remplacé par un nombre si un existe, et zéro si ce n'est pas le cas.

Donc, pour la mise en forme suivante « ## 00,00 ## » vous obtiendrez les résultats suivants:

1 => 01.00 
12.1 => 12.10 
1234.5 => 1234.50 
1.2345 => 01.2345 
+0

Super, merci pour les exemples, ils ont éclairci les choses pour moi. –

3

Ils sont appelés espaces réservés.

Placeholders

Vous utilisez le caractère signe dièse (#) pour représenter les caractères numériques qui seront saisies par l'utilisateur. Pour exemple, pour le motif positif « $ #, ## 0.00 », si les caractères 76329 sont entrés dans une cellule à laquelle le motif a été appliqué, ils être affichés sous forme de 76,329.00 $. Cependant, vous n'avez pas besoin de pour utiliser des espaces réservés. Les chaînes de format ", 0.00", "#, # 0.00" et "#, ## 0.00" sont fonctionnellement équivalentes. Dans d'autres mots , y compris les caractères séparateurs dans une chaîne de modèles signaux NSNumberFormatter pour utiliser les séparateurs , indépendamment du fait que vous utilisez (ou si vous placez) des espaces réservés. Le chef de caractère d'espace réservé réside dans sa capacité à rendre les chaînes de modèle plus lisibles, qui est particulièrement utile pour affichant des modèles dans l'interface utilisateur .

Source: http://developer.apple.com/documentation/InternetWeb/Reference/WO542Reference/com/webobjects/foundation/NSNumberFormatter.html

2

« # » représente un lieu de chiffres en option qui ne figurera pas dans le cas d'un chiffre 0 dans cette position, alors que 0 signifie que le chiffre apparaîtra toujours.

Prenons 345.5 comme exemple:

#,##0.## = 345.5 
0,000.00 = 0,345.50 
1

« # » est dans la plupart des langues utilisées comme un chiffre en option, par opposition à « 0 », ce qui est un chiffre obligatoire (à utiliser pour obtenir de premier plan/zéros finaux).

Questions connexes