Créons un projet de nom "Euro", et créons un champ.
Donner un nom au champ dans AppleScript.
Sélectionnez dans la "Library" l'icône "Number Formatter".
Faite glisser "Number Formatter" de la librairie sur le champ.
Cliquez sur "Formatter"
Sélectionnez "Style" option "Currency" dans l'onglet "Attributes " de l'Inspecteur.
Ne faites rien d'autre. En accord avec les préférences systèmes de votre machine, le signe euro s'affiche automatiquement pour un européen.
Ne touchez pas au point séparateur des décimales, le bon séparateur sera celui de vos préférences systèmes.
Faites "Save".
Exécutez le projet dans xCode. Notez, il n'y a aucun script.
Dans le champ vide, tapez une valeur, 123456 par exemple, n'oubliez pas de valider par "Return", et admirez votre résultat.
Pour changer la valeur double click sur 123456.
Les exemples ASS d'Apple nous proposent un projet de nom "Currency Converter", qui à l'aide d'un taux de change convertit une monnaie en une autre.
L'exemple est en formatage US.
Sur chacun des champs, il y a une petite icône d'indication de formatage. L'icône est sous le champ sélectionné. Le champ sélectionné est en bleu.
Cette icône est créée en glissant "Number Formatter" de la librairie sur le champ.
Note de rédaction : Je mets en vert les noms utilisateurs, et en rouge ceux de xCode.
Cela donne les paramètres de choix euro, dollars, nombres de décimales, comme ceci (notez l'exemple est 10.0, le menu change en 10.5) :
Dans AppleScript il n'y a rien de défini pour les champs, juste leurs noms. Seul le bouton "Convert" est référencé en AppleScript.
Le code est minimaliste, juste récupération des valeurs des champs, et la multiplication, par un click sur le bouton "Convert".
Il n'y a aucune indication de conversion entre les trois champs, puisque tous ont un "formatter".
Dans le cas d'un transfert d'un champ sans "formatter" vers un champ avec "formatter" il faudra utiliser la coersion "as number".
Idem dans le cas de la lecture d'un fichier texte, pour faire un import.
Dans le cas de sauvegarde dans une P-list, le nombre formaté est dans la P-list avec 6 décimales. La valeur 12 deviens 12.000000.
Attention, si vous transformez un champ non formaté, donc en TEXT, en champ formaté, à la lecture de votre P-list rien ne va s'afficher, puisque la valeur de la P-list est l'ancien format non formaté. Il faut supprimer la P-list et la recréer avec le nouveau format.