Avatar ·

在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