swift - while循环,找到最接近零的值

标签 swift while-loop

我正在尝试找到使 IRDPenaltyCalculation 等于 0 的比率。我可以使用 UISlider 获取该值。但我想计算该值,以便我可以设置 UISlider 最小值。下面的代码给出了错误的比率,并且直到 IRDPenaltyCalculation 等于 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)

关于swift - while循环,找到最接近零的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57862604/

相关文章:

objective-c - 为什么全新的 Mac 不显示我的屏幕保护程序?

javascript - 反向循环真的更快吗?

c - 为什么我的 int while 循环在我扫描数字时继续运行?

c - 如果不手动中断,无限循环何时终止?

ios - base64EncodedString 返回不需要的反斜杠

swift - 如何在开始编辑时清除所有 TextField 或在 Swift 3 中选择 TextField?

ios - 如何使用 cocoapods 安装适用于 iOS 的 facebook sdk?

c - 通过严格修改来防止比赛条件

带有终止符的 C++ switch case 计算器

swift - 在 Xcode 和 swift 中管理隐藏/显示多个键盘?