Avatar ·

在Swift中将Double数字四舍五入到指定小数位数

大家好!我刚开始学习Swift,遇到了一个看似简单但找不到优雅解决方案的问题。 我有一个`Double`类型的变量,存储时间值(秒),例如`let elapsedTime: Double = 3.14159265`。我需要向用户显示保留两位小数的格式,比如“3.14秒”。但这个数字本身必须保持为数字而非字符串,因为我后续还要用它进行计算。 我尝试过用`String(format:)`来显示,但这会得到字符串而非`Double`。例如: ```swift let value = 3.14159265 let formatted = String(format: "%.2f", value) // "3.14" — 这是String,不是Double ``` 当我尝试将这个字符串重新转换为`Double`时,得到的是`Optional(3.14)`,但这和原始数字不完全相同。此外,对于大数字或使用`NSTimeInterval`时,还会出现精度问题。 有没有什么