在Swift中将Double四舍五入到指定小数位数
你好!我是Swift新手,在处理Double类型数字时遇到了问题。我需要以特定精度输出时间值(NSTimeInterval),例如保留两位小数。但Swift似乎没有提供简单的方法来实现这一点。
以下是我的问题示例:
```swift
let duration: TimeInterval = 3.14159265
print(duration) // 输出3.14159265,但我需要3.14
let price: Double = 19.995
// 需要四舍五入到20.00以便在UI中显示
```
我尝试过使用`String(format:)`:
```swift
let formatted = String(format: "%.2f", duration)
print(formatted) // 输出"3.14",但这是字符串,我需要的是Double!
```
问题在于我需要得到的是四舍五入后的Double数字,而不是字符串。例如,用于后续的数学运算或传递给API。
我听说过`round()`、`floor()`和`ceil()`,但它们只适用于整数。我尝试过乘以100、四舍五入再除以100:
```swift
let rounded = r