• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

iphone - 如何计算还款额

[复制链接]
菜鸟教程小白 发表于 2022-12-12 19:43:20 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

嘿,我正在尝试根据贷款金额、利率和年数计算每月还款额。

我想出了以下方法,但是我的计算与互联网上的其他贷款计算器之间似乎存在差异。我的测试数据是 1000 美元的贷款金额,5% 的利息,为期 1 年。这给了我每月 85.61 的付款和 1027.29 的总付款

这是计算这个的代码。

    double LoanAmount = la; //loan amount
    double InterestRate = ir; //interest rate
    double NumberOfYears = noy; //number of years

    double interestRateDecimal = InterestRate / (12 * 100);
    double months = NumberOfYears * 12;
    double rPower = pow(1+interestRateDecimal,months);

    monthlyPayments = LoanAmount * interestRateDecimal * rPower / (rPower - 1);
    totalPayments = monthlyPayments * months;
    yearlyPayments = monthlyPayments * 12;
    totalInterest = totalPayments - LoanAmount;

我使用的公式是正确的还是有错误的?

任何帮助将不胜感激。

非常感谢



Best Answer-推荐答案


我有点无聊,所以我把我从 internet 得到的月费率公式放进去。到使用 NSDecimalNumber 的代码中.

正如您将看到的,使用 NSDecimalNumbers 是一个很大的问题。但是您正在编写财务软件,而您的客户期望得到正确的结果。
再一次,我指给你看 Marcus Zarras 的文章 DON’T BE LAZY WITH NSDECIMALNUMBER (LIKE ME) .

享受吧。

NSDecimalNumber *loan = [NSDecimalNumber decimalNumberWithString"25000"];
NSDecimalNumber *annualInterestRate = [NSDecimalNumber decimalNumberWithString"6"]; // 6%
annualInterestRate = [annualInterestRate decimalNumberByDividingBy:[NSDecimalNumber decimalNumberWithString"100"]]; // 0.06 i.e. 6%
NSInteger numberOfPayments = 36;

// (loan * (interest / 12)) / (1 - (1 + interest / 12) ^ -number)
//          ^^^^^^^^^^^^^ temp1
// ^^^^^^^^^^^^^^^^^^^^^^^^ temp2
//                                      ^^^^^^^^^^^^^ temp1
//                                 ^^^^^^^^^^^^^^^^^^^ temp4 
//                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ temp5
//                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ temp6
NSDecimalNumber *temp1 = [annualInterestRate decimalNumberByDividingBy:[NSDecimalNumber decimalNumberWithString"12"]];
NSDecimalNumber *temp2 = [temp1 decimalNumberByMultiplyingBy:loan];
NSDecimalNumber *temp4 = [[NSDecimalNumber one] decimalNumberByAdding:temp1];
NSDecimalNumber *temp5 = [[NSDecimalNumber one] decimalNumberByDividingBy:[temp4 decimalNumberByRaisingToPower:numberOfPayments]];
NSDecimalNumber *temp6 = [[NSDecimalNumber one] decimalNumberBySubtracting:temp5];

NSDecimalNumber *monthlyRate = [temp2 decimalNumberByDividingBy:temp6];
NSLog(@"Monthly rate: %@", monthlyRate);

希望它是正确的。我通常不必处理 NSDecimalNumbers。

关于iphone - 如何计算还款额,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9721462/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap