Redondeo de Double a un número específico de decimales en Swift
¡Hola! Soy nuevo en Swift y me encontré con un problema al trabajar con números de tipo Double. Necesito mostrar valores de tiempo (NSTimeInterval) con una precisión determinada, por ejemplo, hasta dos decimales. Pero Swift parece no ofrecer una forma sencilla de hacerlo.
Aquí hay un ejemplo de mi problema:
```swift
let duration: TimeInterval = 3.14159265
print(duration) // Muestra 3.14159265, pero necesito 3.14
let price: Double = 19.995
// Necesito redondear a 20.00 para mostrar en la UI
```
Intenté usar `String(format:)`:
```swift
let formatted = String(format: "%.2f", duration)
print(formatted) // Muestra "3.14", pero es un String, ¡necesito un Double!
```
El problema es que necesito obtener un número Double redondeado, no un String. Por ejemplo, para operaciones matemáticas posteriores o para enviar a una API.
He oído sobre `round()`, `floor()` y `ceil()`, pero solo funcionan con números enteros. Intenté multiplicar por 100, redondear y dividir de nuevo:
```swift
let rounded = r
No answers yet.
Inicia sesión para dejar una respuesta
Blogs