Formatação precisa de números de ponto flutuante em Swift: especificadores de formato de string
Olá a todos! Comecei a estudar Swift recentemente e encontrei um problema ao formatar números de ponto flutuante. Preciso exibir um valor do tipo Double com um número específico de casas decimais, por exemplo, 2 casas. Em outras linguagens, como C ou Java, eu usava especificadores de formato como %.2f, mas em Swift isso parece não funcionar diretamente.
Aqui está o que tentei:
let pi = 3.1415926535
let formatted = String(format: "%.2f", pi)
print(formatted) // "3.14" — funciona!
Mas quando tentei usar String(format:) com outros especificadores, como %e para notação científica ou %g para seleção automática de formato, obtive resultados estranhos. Também preciso alinhar números por largura de campo, adicionando espaços ou zeros à esquerda. Por exemplo, para que o número 42.1 se torne "042.10".
Li sobre NumberFormatter, mas parece muito complicado para usos simples.