Arredondamento de Double para um número específico de casas decimais em Swift
Olá! Sou novo em Swift e enfrentei um problema ao trabalhar com números do tipo Double. Preciso exibir valores de tempo (NSTimeInterval) com uma precisão específica, por exemplo, duas casas decimais. Mas Swift parece não oferecer uma maneira simples de fazer isso.
Aqui está um exemplo do meu problema:
```swift
let duration: TimeInterval = 3.14159265
print(duration) // Exibe 3.14159265, mas preciso de 3.14
let price: Double = 19.995
// Preciso arredondar para 20.00 para exibir na UI
```
Tentei usar `String(format:)`:
```swift
let formatted = String(format: "%.2f", duration)
print(formatted) // Exibe "3.14", mas é uma string, e preciso de Double!
```
O problema é que preciso obter exatamente um número Double arredondado, não uma string. Por exemplo, para operações matemáticas adicionais ou envio para uma API.
Ouvi falar sobre `round()`, `floor()` e `ceil()`, mas eles funcionam apenas com números inteiros. Tentei multiplicar por 100, arredondar e dividir de volta:
```swift
let rounded = r
No answers yet.
Faça login para deixar uma resposta