Author

Senior Staff Engineer, Google

Languages

HTMLJS

Build a simple mortgage calculator widget that takes in a loan amount, interest rate, loan term, and calculates the monthly mortgage payment, total payment amount, and total interest paid.

- The user should be able to enter:
- Loan amount ($)
- Annual interest rate (%). This is also known as the annual percentage rate (APR)
- Loan term (in years)

- Using the inputs, the calculator should compute the following and display the results to the user:
- Monthly mortgage payment
- Total payment amount
- Total interest paid

- If a non-numerical string is entered into any input field, the calculator should display an error message. Additionally, the calculator should handle any other invalid inputs that may arise.
- Round the result amounts to 2 decimal places.

*The last two requirements might not be given to you during interviews, you're expected to clarify.*

The formula for calculating the monthly payment is:

*M = P(i(1+i) ^{n})/((1+i)^{n} - 1)*

- M: Monthly mortgage payment
- P: Loan amount
- i: Monthly interest rate (APR / 12)
- n: Total number of payments (loan term in years x 12)

Here's an example of Google's mortgage calculator (you might need to be in the US for it to appear):

This question is adapted from FrontendEval's Mortgage Calculator.