[Résolu] String : Les formats et la localization
iLandes
Membre
Bonjour,
Je n'arrive pas à trouver le format à mettre dans le code ci-dessous afin d'obtenir "2,00" au lieu de "2.00"
var myString = String(format: "a double : %.2f", 2.0)
Question subsidiaire, y a-t-il un moyen de récupérer les préférences de format des nombres définies par l'utilisateur. Ce qui permettrait de remplacer le "." par le séparateur préféré de l'utilisateur.
D'avance merci de vos réponses
s
e
b
Mots clés:
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
En Cocoa j'utilise ceci qui fonctionne bien :
+ (instancetype)localizedStringWithFormat:(NSString *)format
Merci fleurantin !
Ce qui donne en swift :
Les experts du forum auront peut-être une explication. Les String ne sont peut-être pas encore tout à fait des NSString ?
Les experts du forum sont en train de jouer dans un épisode spécial de "Les Experts : Paris"
Tu dois utiliser NSNumberFormatter pour réaliser ce que tu souhaites.
Par exemple, pour obtenir le résultat que tu veux, il faudrait faire ceci :
Désolé Magiic mais ta solution me semble plus complexe, celle de fleurantin tient en une seule ligne. ::)
Plus complexe, tout est relatif mais en plusieurs lignes oui. Ceci à l'avantage au moins de mettre la virgule comme tu semblais le vouloir en plus d'être plus souple.
C'est plus complexe dans mon cas. Car il s'agit de formater des données dans un message localisable qui est sous forme de string dans un fichier Localizable.strings.
Toutes les contributions sont bonnes à prendre et apporte toujours de la connaissance, même si ce n'est pas dans l'immédiat. Grâce à toi je découvre NSNumberFormater dans du code alors que je ne l'utilise généralement que dans interface builder.
Merci pour ta contribution