Formatage précis des nombres à virgule flottante en Swift : spécificateurs de format de chaîne
Bonjour à tous ! Je viens de commencer à apprendre Swift et j'ai rencontré un problème lors du formatage des nombres à virgule flottante. J'ai besoin d'afficher une valeur de type Double avec un nombre spécifique de décimales, par exemple 2 décimales. Dans d'autres langages comme C ou Java, j'utilisais des spécificateurs de format comme %.2f, mais en Swift cela ne semble pas fonctionner directement.
Voici ce que j'ai essayé :
let pi = 3.1415926535
let formatted = String(format: "%.2f", pi)
print(formatted) // "3.14" — ça marche !
Mais quand j'ai essayé d'utiliser String(format:) avec d'autres spécificateurs, par exemple %e pour la notation scientifique ou %g pour la sélection automatique du format, j'ai obtenu des résultats étranges. J'ai aussi besoin d'aligner les nombres sur une largeur de champ, en ajoutant des espaces ou des zéros à gauche. Par exemple, pour que le nombre 42.1 devienne "042.10".
J'ai lu à propos de NumberFormatter, mais il semble trop lourd pour des tâches simples.