Fonctions
La programmation AppleScript en exemples.

Fonction d'arrondissement à 2 chiffres après la virgule et conversion au format texte.
Imaginons qu'on veuille afficher des prix. Pour cela, nous allons devoir arrondir les valeurs à 2 chiffres dans la partie décimale. La première difficulté consiste à arrondir le nombre, la seconde à gérer les cas particuliers.

Fonction 5 : récupérez l'AppleScript ici.

Le Script :


global separateur_decimal

on
Rework_numbers(nombre)
set
nombre to round (nombre * 100)
if
(nombre = 0) then return "0.00"
set
partie_entiere to (nombre div 100) as string
if
((nombre > 0) and (nombre < 10)) then
set
partie_decimale to "0" & (nombre as text)
else
set
partie_decimale to text ((length of (nombre as string)) - 1) thru -1 of (nombre as string)
end if
return
(partie_entiere & separateur_decimal & partie_decimale)
end
Rework_numbers

set
separateur_decimal to "."

set
mon_nombre to 12.3478

return
Rework_numbers(mon_nombre)



Explications :
Le principe de cette fonction consiste à tronquer la partie décimale à 2 chiffres, il suffit donc de multiplier le nombre initial par 100, de l'arrondir et de ne prendre que la partie entière. Le script arrondit dans un premier temps le nombre multiplié par 100 afin de convertir correctement un nombre tel que 22.22. Sans le "Round (nombre*100)" on obtiendrait "22" pour la partie entière à la ligne suivante. Les deux tests en "if" servent à gérer deux cas particuliers : le cas où le nombre de départ est zéro et le cas où la partie décimale ne contient qu'un chiffre.



Astuce & application :
• on peut utiliser cette fonction tant que les nombres à arrondir sont inférieurs à 500 millions.
• cette fonction est très utile quand on veut manipuler des valeurs qui n'utilisent pas le format d'affichage scientifique (par exemple : 2.137E-5)
• cette fonction est très utile également quand on veut afficher des nombres avec un séparateur décimal donné indépendemment du séparateur décimal du système.