2016-09-21 65 views
2

在斯威夫特3我收到以下错误(这是不是在斯威夫特2发生):否*候选人产生期望的结果类型FloatingPointRoundingRule

否*候选人产生期望的结果类型 FloatingPointRoundingRule

我不知道我需要做什么来解决它。

我想纬度十进制转换为舍入函数改为被称为上的一个实例,而不是全局函数度/分/秒

extension CLLocationDegrees {   
    mutating func toLatitudeSeconds() -> String { 
     var seconds = Int(round(self * 3600)) //error here 
     // etc ... 
    } 
} 

回答

9

。你基本上试图做这是行不通的,因为round函数不带任何参数或类型FloatingPointRoundingRule类型的参数。

你可能想:

var seconds = Int((self*3600).rounded()) 
+0

我真的希望他们能停止制造这样的变化与每一个主要版本更新迅速,选路和它呆在一起。对不起迷你咆哮你的答案工作谢谢 – tyczj

+0

他们这样做'圆',但为什么不'ceil'和'地板'...? – shim

+1

@shim他们可能希望你使用'round'而不是'ceil'和'floor'。例如'x.round(.up)'和'x.round(.down)' – dan

相关问题