Swift中围捕期间的铸造类型
我有以下警告:Swift中围捕期间的铸造类型,swift,pow,Swift,Pow,我有以下警告: var ifloor:Float = 10.1 var arredondado = ifloor arredondado = arredondado*(pow(10, 3) as! Float) 从Decimal转换为不相关类型Float总是失败。 如何解决这个问题?您可以简单地使用powf(\u:\ u:)而不是pow(\u:),即 arredondado = arredondado * powf(10, 3) var casas:Int=3在调用函数之前,尝试将pow()
var ifloor:Float = 10.1
var arredondado = ifloor
arredondado = arredondado*(pow(10, 3) as! Float)
从Decimal
转换为不相关类型Float
总是失败。
如何解决这个问题?您可以简单地使用
powf(\u:\ u:)
而不是pow(\u:)
,即
arredondado = arredondado * powf(10, 3)
var casas:Int=3在调用函数之前,尝试将
pow()的参数转换为float。pow函数被重载-它正在解析为返回一个十进制的版本,因为没有为整数定义的版本。为什么要强制转换类型?编译器足够聪明,可以使用适当的重载pow
。删除as!浮动
和括号。