Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Double Swift 3迁移-双扩展舍入问题_Double_Rounding_Swift3_Xcode8 - Fatal编程技术网

Double Swift 3迁移-双扩展舍入问题

Double Swift 3迁移-双扩展舍入问题,double,rounding,swift3,xcode8,Double,Rounding,Swift3,Xcode8,我正在将我们的代码库迁移到Swift 3,我遇到了一个无法解释或修复的编译问题 我有一个Double扩展名中的方法,它将Double四舍五入到一定的位数: public func roundToPlaces(places: Int) -> Double { let divisor = pow(10.0, Double(places)) return round(self * divisor) / divisor } 例如: 12.34567.roundToPlaces(2

我正在将我们的代码库迁移到Swift 3,我遇到了一个无法解释或修复的编译问题

我有一个
Double
扩展名中的方法,它将
Double
四舍五入到一定的位数:

public func roundToPlaces(places: Int) -> Double {
    let divisor = pow(10.0, Double(places))
    return round(self * divisor) / divisor
}
例如:
12.34567.roundToPlaces(2)
应返回
12.35
。然而,我在这个扩展中使用的
round
方法中遇到了一个编译问题。这是说我
不能在不可变值上使用mutating member:“self”是不可变的


你知道这里发生了什么吗?如何解决此问题?

我已解决此问题。将
舍入(自*除数)
更改为
(自*除数)。舍入()解决了编译问题。

不应舍入的可能重复
12.34567
返回
12.35
?我的错误…是的,12.35。现在编辑…我必须做:(self*除数).rounded()加括号