amortize-rs 0.1.0

A loan amortization calculator library
Documentation
use std::fmt;
use chrono::NaiveDate;

#[derive(Debug, Clone)]
pub struct Payment {
    pub installment_number: u32,
    pub beginning_balance: f64,
    pub ending_balance: f64,
    pub interest: f64,
    pub principal: f64,
    pub date: Option<NaiveDate>,
    pub remaining_balance: f64,
    pub installment_amount: f64
}

impl fmt::Display for Payment {
    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
        write!(
            f,
            "Date: {:?}, Interest: {:.2}, Principal: {:.2}, Remaining Balance: {:.2}, Beginning Balance: {:.2} Ending Balance: {:.2}",
            self.date.unwrap(), self.interest, self.principal, self.remaining_balance, self.beginning_balance, self.ending_balance
        )
    }
}