#!/bin/bash # loancalc--Given a principal loan amount, interest rate, and # duration of loan (years), calculates the per-payment amount # Formula is M = P * ( J / (1 - (1 + J) ^ -N)), # where P = principal, J = monthly interest rate, N = duration (months). # # Users typically enter P, I (annual interest rate), and L (length, years). . ../1/library.sh # Start by sourcing the script library. if [ $# -ne 3 ] ; then echo "Usage: $0 principal interest loan-duration-years" >&2 exit 1 fi P=$1 I=$2 L=$3 J="$(scriptbc -p 8 $I / \( 12 \* 100 \) )" N="$(( $L * 12 ))" M="$(scriptbc -p 8 $P \* \( $J / \(1 - \(1 + $J\) \^ -$N\) \) )" # Now a little prettying up of the value: dollars="$(echo $M | cut -d. -f1)" cents="$(echo $M | cut -d. -f2 | cut -c1-2)" cat << EOF A $L-year loan at $I% interest with a principal amount of $(nicenumber $P 1 ) results in a payment of \$$dollars.$cents each month for the duration of the loan ($N payments). EOF exit 0