Cette documentation est encore en cours de rédaction chez Apple et des corrections peuvent être apportées au cours des semaines à venir.

Une valeur littérale est une valeur qui contient des lettres représentant des chiffres. En général il s’agit d’un code pouvant être interprété différemment en fonction ce que l’on souhaite obtenir.

Les entiers littéraux peuvent être écrits de différentes manières :

  • Un nombre décimal, sans aucun préfixe
  • Un nombre binaire, avec un préfixe 0b
  • Un nombre octal, avec un préfixe 0o
  • Un nombre hexadécimal, avec un préfixe 0x

Tous ces entiers littéraux correspondent à la valeur décimale de 17 :

1 let decimalEntier = 17
2 let binaireEntier = 0b10001 // 17 en binaire
3 let octalEntier = 0o21 // 17 en octal
4 let hexadecimalEntier = 0x11 // 17 en hexadécimal

Les nombres à virgule littéraux peuvent être décimaux (sans préfixe), ou hexadécimaux (avec le préfixe 0x). Ils doivent juste toujours avoir un nombre décimal (ou hexadécimal) de chaque côté de la virgule. Ils peuvent aussi avoir un exposant optionnel, indiqué avec un e majuscule ou minuscule pour les nombres décimaux et un p majuscule ou minuscule pour les nombres hexadécimaux.

Pour les nombres décimaux avec un exposant, la base du nombre est multipliée par 10exp :

  • 1.25e2 signifie 1.25 x 10² ou 125.0
  • 1.25e-2 signifie 1.25 x 10⁻² ou 0.0125

Pour les nombres hexadécimaux avec un exposant, la base du nombre est multipliée par 2exp :

  • 0xFp2 signifie 15 x 2² ou 60.0
  • 0xFp-2 signifie 15 x 2⁻² ou 3.75

Tous les nombres à virgule ci-dessous ont une valeur décimale de 12.1875 :

1 let decimalDouble = 12.1875
2 let exposantDouble = 1.21875e1
3 let hexadecimalDouble = 0xC.3p0

Les nombres littéraux peuvent contenir un formatage supplémentaire afin de les rendre plus lisibles. Entiers comme nombres à virgule, peuvent être rembourrés avec des zéros supplémentaires et des underscores pour aider à la lecture. En aucun cas, le formatage n’affecte la valeur du nombre littéral :

1 let decimalDouble = 000123.456
2 let unMillion = 1_000_000
3 let plusdunMillion = 1_000_000.000_000_1

N’oubliez pas cette astuce, elle peut s’avérer très pratique lorsque vous serez amené à manipuler des nombres très très grands. Bien sur la technique des puissances et des exposants est une bonne manière de réduire le nombre de caractères de votre code et d’utiliser la puissance des machines qui exécuteront votre code, mais au moins vous êtes au courant !