我正在编写FloatingPoint协议的扩展。我想以任何可能的方式将其转换为Double。
extension FloatingPoint {
var toDouble: Double {
return Double(exactly: self) ?? 0 //compile error
}
}
我不想告诉我要达到的目标,因此我们可以专注于上述问题。我希望听到这样的方法是不可能的,而不是为了解决我要解决的更大问题而没有有效的解决方法。
我尝试使用不同的Double构造函数,但也许我没有尽力。
您可以使用简单的转换
extension FloatingPoint {
var toDouble: Double? {
guard let double = self as? Double else { return nil }
return double
}
}