pqrs / phploan
计算贷款的每月还款额
dev-master
2018-02-13 18:33 UTC
This package is auto-updated.
Last update: 2024-09-22 06:35:55 UTC
README
提供一些函数来
- 根据贷款本金、利率和还款次数计算每期还款金额。
- 根据还款次数、利率和还款金额计算贷款本金。
- 根据本金、利率和还款金额计算还款次数。
还提供了一个方法来返回贷款还款计划。
安装
composer require pqrs/phploan=dev-master
或者,直接在composer.json文件中添加依赖
"require": {
"pqrs/phploan": "dev-master"
}
然后在php代码中添加
require_once __DIR__ . '/vendor/autoload.php'; // Autoload files using Composer autoload use PHPLoan\Loan;
使用
Variables nomenclature
$P Principal (loan amount)
$r Annual interest rate
$n Number of payments (months)
$A Monthly payment amount
方法 calculateMonthlyPayment( $P, $r, $n )
根据贷款本金、利率和还款次数计算每期还款金额。
$loan = new Loan; $result = $loan->calculateMonthlyPayment( 60000 , 9, 360 ); echo number_format($result, 2, ".", ",") . PHP_EOL; // Prints 482.77
方法 calculatePrincipal( $n, $r, $A )
根据还款次数、利率和还款金额计算贷款本金。
$loan = new Loan; $result = $loan->calculatePrincipal( 360, 9, 482.77357 ); echo number_format($result, 2, ".", ",") . PHP_EOL; // Prints 60,000.00
方法 calculateNumPayments( $P, $r, $A )
根据本金、利率和还款金额计算还款次数。
$loan = new Loan; $result = $loan->calculateNumPayments( 60000, 9, 482.77357 ); echo $result . PHP_EOL; // Prints 360
方法 getSchedule( $P, $r, $n )
返回一个包含贷款还款计划的object。
$loan = new Loan; $schedule = $loan->getSchedule( 60000, 9, 12 ); echo "<table>"; foreach ($schedule as $key) { echo "<tr>"; echo "<td>" . $key->numpayment . "</td>"; echo "<td>" . $key->payment . "</td>"; echo "<td>" . $key->interest . "</td>"; echo "<td>" . $key->principal . "</td>"; echo "<td>" . $key->balance . "</td>"; echo "</tr>"; } echo "</table>"; // Prints html table: // 1 5,247.09 450.00 4,797.09 55,202.91 // 2 5,247.09 414.02 4,833.07 50,369.84 // 3 5,247.09 377.77 4,869.31 45,500.53 // 4 5,247.09 341.25 4,905.83 40,594.70 // 5 5,247.09 304.46 4,942.63 35,652.07 // 6 5,247.09 267.39 4,979.70 30,672.37 // 7 5,247.09 230.04 5,017.05 25,655.32 // 8 5,247.09 192.41 5,054.67 20,600.65 // 9 5,247.09 154.50 5,092.58 15,508.07 // 10 5,247.09 116.31 5,130.78 10,377.29 // 11 5,247.09 77.83 5,169.26 5,208.03 // 12 5,247.09 39.06 5,208.03 0.00
示例
您可以在测试文件夹中找到这些函数的一些用法。
先决条件
PHP > 5.6
未经测试,但如果您想在低于5.6的5.x PHP版本中使用phploan,可能只需更改Loan.php中的指数表达式即可。将**改为函数pow()
// In method calculateMonthlyPayment( $P , $r, $n ) $A = $P * (( $i * pow((1 + $i), $n) ) / ( pow((1 + $i), $n) - 1 )); // In method calculatePrincipal( $n, $r, $A ) $P = $A * ( pow((1 + $i), $n) - 1 ) / ( $i * (pow((1 + $i), $n) ));
贡献
欢迎贡献!
致谢
版权所有 © 2018 Alvaro Piqueras - pqrs
许可
本项目采用MIT许可 - 有关详细信息,请参阅LICENSE文件。