循环时,查找最接近零的值



我试图找到使IRDPenaltyComputing等于0的比率。我可以使用UISlider获取此值。但是我想计算该值,以便我可以设置 UISlider 最小值。下面的代码给出了错误的速率,并且在 IRDPenaltyComputing 等于 0 之前不会运行。我觉得我忽略了一个简单的步骤。

var IRDPenaltyCalculation = IRDPenalty(IRDComparisonRate: Double(comparisonRate / 100), mtgBalance: mortgageBalance, mthsToMaturity: Double(monthsToMaturity), discount: Double(mortgageRateDiscount), currentRate: rate)
while IRDPenaltyCalculation > 0 {
rate -= 0.01
print("Rate: (rate)")
IRDPenaltyCalculation = IRDPenalty(IRDComparisonRate: Double(comparisonRate / 100), mtgBalance: mortgageBalance, mthsToMaturity: Double(monthsToMaturity), discount: Double(mortgageRateDiscount), currentRate: rate)
print("IRD: (IRDPenaltyCalculation)")
rateLabel.text =  String(IRDPenaltyCalculation)
}

尝试这样的事情:

while IRDPenalty(IRDComparisonRate: Double(comparisonRate / 100), mtgBalance: mortgageBalance, mthsToMaturity: Double(monthsToMaturity), discount: Double(mortgageRateDiscount), currentRate: rate) > 0 {
rate -= 0.01
}
print("Rate: (rate)")
var IRDPenaltyCalculation = IRDPenalty(IRDComparisonRate: Double(comparisonRate / 100), mtgBalance: mortgageBalance, mthsToMaturity: Double(monthsToMaturity), discount: Double(mortgageRateDiscount), currentRate: rate)
print("IRD: (IRDPenaltyCalculation)")
rateLabel.text =  String(IRDPenaltyCalculation)

最新更新