Xcode 初始化器';初始化(35;:)和#x27;要求';十进制';符合';BinaryInteger';

Xcode 初始化器';初始化(35;:)和#x27;要求';十进制';符合';BinaryInteger';,xcode,swiftui,Xcode,Swiftui,我正在尝试制作一个复利计算器应用程序,当我返回复利公式->初始值设定项'init(:)'要求'Decimal'符合'BinaryInteger'时,我得到了这个错误 执行复利公式时出现错误: 返回余额*功率(1+比率/100),整数(单位) }您需要将mounths正确地转换为Int。如下所示: Int(truncating: mounths as NSNumber)) 因此,init中的最后一行如下所示: return balance * pow((1 + rate / 100), Int(

我正在尝试制作一个复利计算器应用程序,当我返回复利公式->初始值设定项'init(:)'要求'Decimal'符合'BinaryInteger'时,我得到了这个错误

执行复利公式时出现错误: 返回余额*功率(1+比率/100),整数(单位)


}

您需要将mounths正确地转换为Int。如下所示:

Int(truncating: mounths as NSNumber))
因此,init中的最后一行如下所示:

return balance * pow((1 + rate / 100), Int(truncating: mounths as NSNumber))

请将相关代码复制到您的问题中。屏幕截图是不够的。我只是编辑了问题并添加了代码。谢谢,您不应该将值转换为Int。这不起作用。你必须把它四舍五入为小数,我不工作。现在我遇到了一个新错误“无法使用类型为“(Decimal)”的参数列表调用类型为“Decimal”的初始值设定项”
return balance * pow((1 + rate / 100), Int(truncating: mounths as NSNumber))