Arredondamento de um número Double para um número específico de casas decimais em Swift
Olá a todos! Comecei a estudar Swift recentemente e me deparei com um problema que parece simples, mas não consigo encontrar uma solução elegante.
Tenho uma variável do tipo `Double` que armazena um valor de tempo em segundos, por exemplo, `let elapsedTime: Double = 3.14159265`. Preciso exibir esse valor para o usuário no formato com duas casas decimais, para que apareça "3.14 segundos". Mas o número em si deve permanecer como número, não como string, porque vou usá-lo em cálculos futuros.
Tentei usar `String(format:)` para exibição, mas isso resulta em uma string, não em um `Double`. Por exemplo:
```swift
let value = 3.14159265
let formatted = String(format: "%.2f", value) // "3.14" — é uma String, não Double
```
Quando tento converter essa string de volta para `Double`, obtenho `Optional(3.14)`, mas isso não é exatamente o mesmo que o número original. Além disso, tenho problemas de precisão com números grandes ou ao usar `NSTimeInterval`.
Existe alguma
No answers yet.
Faça login para deixar uma resposta
Blogs