basicinterest v1.0.1
Install
npm install basicinterest
Methods
interest()
Calculates the unaccumulated interest percentage on an amount using the interest rated provided, from from to to.
Usage:
interest (amount, percentage, from, to)
Takes the following parameters:
amountis the base amount to calculate the interest for.percentageis the yearly interest rate in %.fromis the starting date in yyyy-mm-dd format for the calculation.tois the ending date in yyyy-mm-dd format for the calculation.
Returns an int or float on success, or false on error.
Example:
> interest(100, 25, '2020-05-01', '2022-01-01')
141.78082191780823accinterest()
Calculates the accumulated interest percentage on an amount using the interest rated provided, from from to to.
Note that interest accumulation is performed every cycle of 365 days (not necessarily calendar year).
Usage:
accinterest (amount, percentage, from, to)
Takes the following parameters:
amountis the base amount to calculate the interest for.percentageis the yearly interest rate in %.fromis the starting date in yyyy-mm-dd format for the calculation.tois the ending date in yyyy-mm-dd format for the calculation.
Returns an int or float on success, or false on error.
Example:
> accinterest(100, 25, '2020-05-01', '2022-01-01')
145.97602739726028howlong()
Calculates the amount of time it'll take amount to become goal at a yearly unaccumulated interest of percentage.
Usage:
howlong (amount, percentage, goal, returnyears)
Takes the following parameters:
amountis the base amount to calculate the interest for.percentageis the yearly interest rate in %.goalis the goal to reach.returnyearsis an optional boolean defining whether to return years instead of days.
Returns an int (days) or float (years) on success, or false on error.
Example:
> howlong(100, 25, 200, false)
1134
> howlong(100, 25, 200, true)
3.10628371950539howmuchinterest()
Calculates the unaccumulated interest required for amount to become goal, within the time period of from and to.
Usage:
howmuchinterest (amount, goal, from, to)
Takes the following parameters:
amountis the base amount to calculate the interest for.goalis the goal to reach.fromis the starting date in yyyy-mm-dd format for the calculation.tois the ending date in yyyy-mm-dd format for the calculation.
Returns an int (days) or float (years) on success, or false on error.
Example:
> howmuchinterest(100, 200, '2020-05-01', '2022-01-01')
1.5139952255590707tests()
Runs all functions with predefined arguments to make sure the code works as expected (manual unit testing :D). The output below is expected to be the same every time.
The output of tests() should be as such:
141.78082191780823
145.97602739726028
3.10628371950539 years
1134 days
1.5139952255590707Known culprits
- Only common sense sanity checks are performed on the input. Non-existing dates that would synthetically make sense are accepted, e.g.
2020-02-30, but aren't handled.
Disclaimer
This is a school project. You shouldn't rely on this package or the output of its methods for anything of importance.
License
AGPLv3.