<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Calcrio</title>
    <description>The latest articles on DEV Community by Calcrio (@calcrio).</description>
    <link>https://dev.to/calcrio</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4186655%2F90d9e0be-d433-48e7-bfbb-965447a634a6.png</url>
      <title>DEV Community: Calcrio</title>
      <link>https://dev.to/calcrio</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/calcrio"/>
    <language>en</language>
    <item>
      <title>Mortgage Amortization Explained: Where Your Payment Goes (PITI, PMI)</title>
      <dc:creator>Calcrio</dc:creator>
      <pubDate>Thu, 15 Oct 2026 13:27:04 +0000</pubDate>
      <link>https://dev.to/calcrio/mortgage-amortization-explained-where-your-payment-goes-piti-pmi-2a1f</link>
      <guid>https://dev.to/calcrio/mortgage-amortization-explained-where-your-payment-goes-piti-pmi-2a1f</guid>
      <description>&lt;p&gt;Most first-time US homebuyers are surprised by their first mortgage statement. They pay $2,500 and the loan balance drops by only a few hundred dollars. Nothing is wrong. That's &lt;strong&gt;amortization&lt;/strong&gt;, and once you understand it you can make better choices about loan terms, down payments and extra payments.&lt;/p&gt;

&lt;h2&gt;
  
  
  What amortization means
&lt;/h2&gt;

&lt;p&gt;An amortizing loan has a fixed principal-and-interest payment that pays off the debt over a set term, usually 15 or 30 years. The payment stays the same, but the split between interest and principal changes every month:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Interest&lt;/strong&gt; is charged on the remaining balance, so it's highest at the start.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Principal&lt;/strong&gt; is whatever is left of the payment after interest, so it starts small and grows.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  The payment formula
&lt;/h3&gt;

&lt;p&gt;M = P Ã— [r(1 + r)^n] Ã· [(1 + r)^n âˆ’ 1]&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;P&lt;/strong&gt; = loan amount&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;r&lt;/strong&gt; = monthly interest rate (annual rate Ã· 12)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;n&lt;/strong&gt; = number of payments (years Ã— 12)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt; a $320,000 loan at 6.75% for 30 years.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;r = 0.0675 Ã· 12 = 0.005625, and n = 360&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;M â‰ˆ $2,075.51&lt;/strong&gt; for principal and interest&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Month 1 vs month 240
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Month 1:&lt;/strong&gt; interest = $320,000 Ã— 0.005625 = &lt;strong&gt;$1,800.00&lt;/strong&gt;, so principal = $2,075.51 âˆ’ $1,800 = &lt;strong&gt;$275.51&lt;/strong&gt;. About 87% of that first payment is interest.&lt;/p&gt;

&lt;p&gt;By &lt;strong&gt;month 240&lt;/strong&gt; (year 20), the balance is around $181,000. Interest is about $1,020, and roughly &lt;strong&gt;$1,055 goes to principal&lt;/strong&gt;. The payment is the same, but the split has flipped.&lt;/p&gt;

&lt;p&gt;Over the full 30 years you'd pay about &lt;strong&gt;$427,000 in interest&lt;/strong&gt;, more than the original loan. A &lt;a href="https://calcrio.com/mortgage-amortization-calculator/" rel="noopener noreferrer"&gt;mortgage amortization calculator&lt;/a&gt; shows this month by month and lets you see how the schedule changes when you add extra payments.&lt;/p&gt;

&lt;h2&gt;
  
  
  PITI: the full monthly payment
&lt;/h2&gt;

&lt;p&gt;Lenders and real estate agents usually quote &lt;strong&gt;PITI&lt;/strong&gt;, not just principal and interest:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Piece&lt;/th&gt;
&lt;th&gt;What it is&lt;/th&gt;
&lt;th&gt;Example (monthly)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;P&lt;/strong&gt;rincipal&lt;/td&gt;
&lt;td&gt;Pays down the loan&lt;/td&gt;
&lt;td&gt;$275 (month 1)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;I&lt;/strong&gt;nterest&lt;/td&gt;
&lt;td&gt;Lender's charge&lt;/td&gt;
&lt;td&gt;$1,800 (month 1)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;T&lt;/strong&gt;axes&lt;/td&gt;
&lt;td&gt;Property tax, held in escrow&lt;/td&gt;
&lt;td&gt;$400&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;I&lt;/strong&gt;nsurance&lt;/td&gt;
&lt;td&gt;Homeowners insurance, held in escrow&lt;/td&gt;
&lt;td&gt;$150&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Total&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;â‰ˆ $2,625&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Taxes and insurance go into an &lt;strong&gt;escrow account&lt;/strong&gt; that your servicer uses to pay those bills for you. They aren't part of the amortization schedule, and they can go up every year. That's why payments on a "fixed-rate" mortgage can still increase. If your county reassesses your home and the tax bill jumps, your escrow payment jumps too.&lt;/p&gt;

&lt;p&gt;HOA dues are usually paid separately, but lenders count them when deciding how much you can afford.&lt;/p&gt;

&lt;h2&gt;
  
  
  PMI: the fee for a small down payment
&lt;/h2&gt;

&lt;p&gt;On a conventional loan with less than &lt;strong&gt;20% down&lt;/strong&gt;, lenders usually require &lt;strong&gt;private mortgage insurance (PMI)&lt;/strong&gt;. It protects the lender, not you. It typically costs about &lt;strong&gt;0.3%â€“1.5% of the loan amount per year&lt;/strong&gt;, depending on your credit score and down payment.&lt;/p&gt;

&lt;p&gt;On our $320,000 loan, 0.6% PMI comes to $1,920 a year, or &lt;strong&gt;$160 a month&lt;/strong&gt;. That brings the total to roughly $2,785.&lt;/p&gt;

&lt;h3&gt;
  
  
  When PMI goes away
&lt;/h3&gt;

&lt;p&gt;Under the federal Homeowners Protection Act:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You can &lt;strong&gt;request cancellation&lt;/strong&gt; once your balance reaches &lt;strong&gt;80%&lt;/strong&gt; of the home's original value, as long as you're current on payments.&lt;/li&gt;
&lt;li&gt;PMI &lt;strong&gt;ends automatically&lt;/strong&gt; at &lt;strong&gt;78%&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;FHA loans work differently. Their mortgage insurance premium (MIP) often lasts for the life of the loan if you put down less than 10%, and the usual way to get rid of it is to refinance.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tip:&lt;/strong&gt; the amortization schedule tells you when you'll reach 80% without extra payments. If home values in your area have gone up, some lenders will cancel PMI earlier based on a new appraisal. Ask your servicer.&lt;/p&gt;

&lt;h2&gt;
  
  
  How extra payments change the schedule
&lt;/h2&gt;

&lt;p&gt;Because interest is charged on the remaining balance, every extra dollar of principal saves interest for the rest of the loan.&lt;/p&gt;

&lt;p&gt;With the same $320,000 loan at 6.75%:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Strategy&lt;/th&gt;
&lt;th&gt;Payoff time&lt;/th&gt;
&lt;th&gt;Interest saved (approx.)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Standard payments&lt;/td&gt;
&lt;td&gt;30 years&lt;/td&gt;
&lt;td&gt;â€”&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;+$200/month&lt;/td&gt;
&lt;td&gt;~24.5 years&lt;/td&gt;
&lt;td&gt;~$95,000&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;One extra payment per year&lt;/td&gt;
&lt;td&gt;~24 years&lt;/td&gt;
&lt;td&gt;~$100,000&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;15-year term instead (higher payment)&lt;/td&gt;
&lt;td&gt;15 years&lt;/td&gt;
&lt;td&gt;~$250,000+&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Mark extra payments as &lt;strong&gt;"principal only"&lt;/strong&gt; so the servicer doesn't just apply them to next month's payment.&lt;/p&gt;

&lt;h2&gt;
  
  
  Comparing rates and payments in percentages
&lt;/h2&gt;

&lt;p&gt;When you're comparing quotes or deciding whether to refinance, it helps to think in percent change. Going from 7.25% to 6.5% sounds like 0.75 points, but it's a &lt;strong&gt;10.3% decrease&lt;/strong&gt; in the rate. On a $320k loan that lowers the payment by about $160 a month. A &lt;a href="https://calcrio.com/percentage-increase-decrease-calculator/" rel="noopener noreferrer"&gt;percentage increase/decrease calculator&lt;/a&gt; is handy for checking things like how much your escrow went up this year or how much a refinance actually saves.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key takeaways
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Early payments are mostly interest. That's normal, and it's why paying a little extra early on saves so much.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;PITI&lt;/strong&gt; = principal + interest + taxes + insurance. Only the first two follow the amortization schedule.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;PMI&lt;/strong&gt; applies to conventional loans with less than 20% down. You can request cancellation at 80% loan-to-value, and it ends automatically at 78%.&lt;/li&gt;
&lt;li&gt;Extra principal payments, especially in the first 5â€“10 years, can cut years off the loan and save tens of thousands in interest.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Before you sign, run your actual loan amount, rate and term through an amortization schedule. Seeing month 1 next to month 240 is one of the clearest ways to understand what a mortgage really costs.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This article is for education only and isn't financial advice. Rates, PMI pricing and escrow costs vary by lender and location.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>finance</category>
      <category>personalfinance</category>
      <category>beginners</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>How GPA Is Calculated: Weighted vs Unweighted, With Examples</title>
      <dc:creator>Calcrio</dc:creator>
      <pubDate>Thu, 15 Oct 2026 13:22:38 +0000</pubDate>
      <link>https://dev.to/calcrio/how-gpa-is-calculated-weighted-vs-unweighted-with-examples-485p</link>
      <guid>https://dev.to/calcrio/how-gpa-is-calculated-weighted-vs-unweighted-with-examples-485p</guid>
      <description>&lt;h1&gt;
  
  
  How GPA Is Calculated: Weighted vs Unweighted, With Examples
&lt;/h1&gt;

&lt;p&gt;Your grade point average looks like one number, but in the US it's usually two: an &lt;strong&gt;unweighted GPA&lt;/strong&gt; on a 4.0 scale and a &lt;strong&gt;weighted GPA&lt;/strong&gt; that gives extra points for harder classes. Colleges, scholarship committees and some employers look at both. They also tend to recalculate your GPA their own way, so knowing the math helps you read your transcript the way they will.&lt;/p&gt;

&lt;p&gt;This guide covers both methods with worked examples, explains where credit hours come in, and lists the mistakes that most often throw the number off.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1: Turn letter grades into grade points
&lt;/h2&gt;

&lt;p&gt;Almost every US high school and college starts from the same 4.0 scale:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Letter&lt;/th&gt;
&lt;th&gt;Points&lt;/th&gt;
&lt;th&gt;Typical % range&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;A / A+&lt;/td&gt;
&lt;td&gt;4.0&lt;/td&gt;
&lt;td&gt;93â€“100&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;A-&lt;/td&gt;
&lt;td&gt;3.7&lt;/td&gt;
&lt;td&gt;90â€“92&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;B+&lt;/td&gt;
&lt;td&gt;3.3&lt;/td&gt;
&lt;td&gt;87â€“89&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;B&lt;/td&gt;
&lt;td&gt;3.0&lt;/td&gt;
&lt;td&gt;83â€“86&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;B-&lt;/td&gt;
&lt;td&gt;2.7&lt;/td&gt;
&lt;td&gt;80â€“82&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;C+&lt;/td&gt;
&lt;td&gt;2.3&lt;/td&gt;
&lt;td&gt;77â€“79&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;C&lt;/td&gt;
&lt;td&gt;2.0&lt;/td&gt;
&lt;td&gt;73â€“76&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;D&lt;/td&gt;
&lt;td&gt;1.0&lt;/td&gt;
&lt;td&gt;65â€“72&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;F&lt;/td&gt;
&lt;td&gt;0.0&lt;/td&gt;
&lt;td&gt;below 65&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Some schools don't use plus/minus grades, and a few give an A+ 4.3. Check your student handbook. That one detail can move your GPA by a tenth of a point or more.&lt;/p&gt;

&lt;p&gt;If your teacher gives percentages instead of letters, convert them first. A &lt;a href="https://calcrio.com/grade-calculator/" rel="noopener noreferrer"&gt;grade calculator&lt;/a&gt; makes this quick, and it also shows what you'd need on a final exam to reach a target grade.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2: Unweighted GPA (the simple average)
&lt;/h2&gt;

&lt;p&gt;An unweighted GPA treats every class the same: an A in AP Chemistry and an A in PE are both 4.0.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Formula:&lt;/strong&gt; add up the grade points and divide by the number of classes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example: one semester, six classes&lt;/strong&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Class&lt;/th&gt;
&lt;th&gt;Grade&lt;/th&gt;
&lt;th&gt;Points&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;English 10&lt;/td&gt;
&lt;td&gt;A-&lt;/td&gt;
&lt;td&gt;3.7&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Algebra II&lt;/td&gt;
&lt;td&gt;B+&lt;/td&gt;
&lt;td&gt;3.3&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Biology&lt;/td&gt;
&lt;td&gt;A&lt;/td&gt;
&lt;td&gt;4.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;US History&lt;/td&gt;
&lt;td&gt;B&lt;/td&gt;
&lt;td&gt;3.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Spanish II&lt;/td&gt;
&lt;td&gt;A&lt;/td&gt;
&lt;td&gt;4.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PE&lt;/td&gt;
&lt;td&gt;A&lt;/td&gt;
&lt;td&gt;4.0&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Total = 22.0, and 22.0 Ã· 6 = &lt;strong&gt;3.67 unweighted GPA&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Unweighted GPA is good for comparing students across schools because it caps at 4.0 everywhere. The downside is that it doesn't reward taking harder classes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 3: Weighted GPA (rewarding harder classes)
&lt;/h2&gt;

&lt;p&gt;Weighted GPA adds a bonus for advanced coursework. The most common US setup is:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Regular / college-prep:&lt;/strong&gt; +0&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Honors:&lt;/strong&gt; +0.5&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AP / IB / dual enrollment:&lt;/strong&gt; +1.0&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That puts the ceiling at 5.0 instead of 4.0.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Same example, but now English and Biology are Honors and US History is AP:&lt;/strong&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Class&lt;/th&gt;
&lt;th&gt;Level&lt;/th&gt;
&lt;th&gt;Base&lt;/th&gt;
&lt;th&gt;Bonus&lt;/th&gt;
&lt;th&gt;Weighted&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;English 10&lt;/td&gt;
&lt;td&gt;Honors&lt;/td&gt;
&lt;td&gt;3.7&lt;/td&gt;
&lt;td&gt;+0.5&lt;/td&gt;
&lt;td&gt;4.2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Algebra II&lt;/td&gt;
&lt;td&gt;Regular&lt;/td&gt;
&lt;td&gt;3.3&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;3.3&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Biology&lt;/td&gt;
&lt;td&gt;Honors&lt;/td&gt;
&lt;td&gt;4.0&lt;/td&gt;
&lt;td&gt;+0.5&lt;/td&gt;
&lt;td&gt;4.5&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;US History&lt;/td&gt;
&lt;td&gt;AP&lt;/td&gt;
&lt;td&gt;3.0&lt;/td&gt;
&lt;td&gt;+1.0&lt;/td&gt;
&lt;td&gt;4.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Spanish II&lt;/td&gt;
&lt;td&gt;Regular&lt;/td&gt;
&lt;td&gt;4.0&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;4.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PE&lt;/td&gt;
&lt;td&gt;Regular&lt;/td&gt;
&lt;td&gt;4.0&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;4.0&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Total = 24.0, and 24.0 Ã· 6 = &lt;strong&gt;4.00 weighted GPA&lt;/strong&gt;. The unweighted GPA is still 3.67.&lt;/p&gt;

&lt;p&gt;Notice that the B in AP History counts as a 4.0 once weighted. That's the trade-off schools are trying to reward: a B in a college-level class is often worth more than an A in an easier one.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Watch out: some schools only add the bonus for grades of C or higher, and some don't weight 9th-grade classes at all. Your school's policy beats any general rule.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;If you'd rather not fill out a spreadsheet each semester, this &lt;a href="https://calcrio.com/high-school-gpa-calculator/" rel="noopener noreferrer"&gt;high school GPA calculator&lt;/a&gt; handles regular, Honors and AP weighting side by side and shows both numbers at once.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 4: Factor in credit hours (college and some high schools)
&lt;/h2&gt;

&lt;p&gt;In college, and at high schools that give semester-long classes less credit than full-year ones, each class counts according to its credits.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Formula:&lt;/strong&gt; GPA = Î£(grade points Ã— credits) Ã· Î£(credits)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example: college semester&lt;/strong&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Course&lt;/th&gt;
&lt;th&gt;Credits&lt;/th&gt;
&lt;th&gt;Grade&lt;/th&gt;
&lt;th&gt;Points&lt;/th&gt;
&lt;th&gt;Quality points&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Calculus I&lt;/td&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;B&lt;/td&gt;
&lt;td&gt;3.0&lt;/td&gt;
&lt;td&gt;12.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Composition&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;A&lt;/td&gt;
&lt;td&gt;4.0&lt;/td&gt;
&lt;td&gt;12.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Psychology&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;A-&lt;/td&gt;
&lt;td&gt;3.7&lt;/td&gt;
&lt;td&gt;11.1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Lab&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;C&lt;/td&gt;
&lt;td&gt;2.0&lt;/td&gt;
&lt;td&gt;2.0&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Quality points = 37.1, credits = 11, and 37.1 Ã· 11 = &lt;strong&gt;3.37 GPA&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;A plain average of those four grades would come out to 3.18. The difference is that the 1-credit C barely moves the credit-weighted result. That's why your registrar's number often won't match your own back-of-the-envelope math.&lt;/p&gt;

&lt;h2&gt;
  
  
  Cumulative GPA: combining semesters
&lt;/h2&gt;

&lt;p&gt;To get a cumulative GPA, &lt;strong&gt;don't average your semester GPAs&lt;/strong&gt;. Add up all the quality points and divide by all the credits. A 4.0 summer term with 3 credits shouldn't count as much as a 3.2 fall term with 16 credits.&lt;/p&gt;

&lt;h2&gt;
  
  
  Converting GPA for other systems
&lt;/h2&gt;

&lt;p&gt;Students who transfer, apply abroad, or come from schools that use a 10-point CGPA often need to convert between scales. The formulas vary by institution. For example, many Indian universities use CGPA Ã— 9.5 to get a percentage. A &lt;a href="https://calcrio.com/cgpa-to-percentage-calculator/" rel="noopener noreferrer"&gt;CGPA to percentage calculator&lt;/a&gt; lets you check the common conversions, but always use the formula your target school publishes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Common GPA mistakes
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Averaging semester GPAs&lt;/strong&gt; instead of recalculating from credits.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Using the wrong scale&lt;/strong&gt;, such as giving A+ 4.3 when your school caps at 4.0.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Weighting every advanced class the same&lt;/strong&gt;, when your school may treat Honors and AP differently.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Forgetting pass/fail and withdrawn classes&lt;/strong&gt;, which usually count toward neither credits nor points.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Assuming colleges use your school's weighted GPA.&lt;/strong&gt; Many recalculate an unweighted core GPA from English, math, science, social studies and world language only.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Which GPA matters more?
&lt;/h2&gt;

&lt;p&gt;It depends on who's reading it:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Selective colleges&lt;/strong&gt; usually look at your unweighted GPA &lt;em&gt;together with&lt;/em&gt; how hard your classes were. A 3.8 with seven APs reads very differently from a 3.8 with none.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;State scholarships&lt;/strong&gt; often have a specific GPA cutoff with their own weighting rules. Georgia's HOPE scholarship, for example, recalculates GPA using its own method.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Class rank&lt;/strong&gt; is usually based on weighted GPA.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The best plan is to track both numbers each semester, know your school's weighting policy, and take harder classes where you can realistically earn a B or better.&lt;/p&gt;

&lt;h2&gt;
  
  
  Quick recap
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Unweighted GPA = average of 4.0-scale points, capped at 4.0.&lt;/li&gt;
&lt;li&gt;Weighted GPA = the same, plus +0.5 for Honors or +1.0 for AP/IB, capped at 5.0.&lt;/li&gt;
&lt;li&gt;Credit-weighted GPA = Î£(points Ã— credits) Ã· Î£(credits).&lt;/li&gt;
&lt;li&gt;Cumulative GPA comes from total quality points, not from averaging semester GPAs.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Run your own numbers a few times with real grades and the process will make sense quickly. It also makes it much easier to plan which classes to take next year.&lt;/p&gt;

</description>
      <category>education</category>
      <category>students</category>
      <category>tutorial</category>
      <category>productivity</category>
    </item>
    <item>
      <title>How Online Calculators Work: Building Fast Mortgage, BMI and Age Calculators</title>
      <dc:creator>Calcrio</dc:creator>
      <pubDate>Thu, 15 Oct 2026 11:17:47 +0000</pubDate>
      <link>https://dev.to/calcrio/how-online-calculators-work-building-fast-mortgage-bmi-and-age-calculators-5cai</link>
      <guid>https://dev.to/calcrio/how-online-calculators-work-building-fast-mortgage-bmi-and-age-calculators-5cai</guid>
      <description>&lt;p&gt;Every calculator site looks simple on the surface: type a few numbers, get an answer. Underneath, though, each tool is just a small, well-known formula wrapped in careful input handling. Here is how three of the most popular ones work, in plain English.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Mortgage calculator: the amortization formula
&lt;/h2&gt;

&lt;p&gt;A fixed-rate mortgage has the same payment every month. Part of it pays interest, the rest pays down the principal. The monthly payment &lt;strong&gt;M&lt;/strong&gt; is:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;M = P * r * (1 + r)^n / ((1 + r)^n - 1)&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;P&lt;/strong&gt; = loan amount (principal)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;r&lt;/strong&gt; = monthly interest rate (annual rate / 12 / 100)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;n&lt;/strong&gt; = number of monthly payments (years * 12)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In plain English: the &lt;code&gt;(1 + r)^n&lt;/code&gt; term models how interest compounds over the life of the loan, and the formula finds the single steady payment that brings the balance to exactly zero after &lt;em&gt;n&lt;/em&gt; months. One edge case: if the rate is 0, just divide P by n.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. BMI calculator: kg / m²
&lt;/h2&gt;

&lt;p&gt;Body Mass Index is the easiest of the three: weight in kilograms divided by height in metres squared. A 70 kg person who is 1.75 m tall has a BMI of 70 / (1.75 × 1.75) ≈ 22.9. If users enter pounds and inches, convert first (1 lb = 0.4536 kg, 1 in = 0.0254 m). Remember BMI is a rough screening number, not a diagnosis.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Age calculator: date differences
&lt;/h2&gt;

&lt;p&gt;Age sounds trivial, but subtracting years alone is wrong if the birthday hasn't happened yet this year. The fix: subtract the years, then subtract one more if today's month/day is before the birth month/day. For months and days, borrow from the previous month the way you did subtraction in school.&lt;/p&gt;

&lt;h2&gt;
  
  
  A short JavaScript snippet
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;mortgage&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;P&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;annualRate&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;years&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;r&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;annualRate&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="mi"&gt;12&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;n&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;years&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="mi"&gt;12&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;r&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;P&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="nx"&gt;n&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;f&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;Math&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;pow&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;r&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;n&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="k"&gt;return &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;P&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nx"&gt;r&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nx"&gt;f&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;f&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;bmi&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;kg&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;m&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;kg&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;m&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nx"&gt;m&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;age&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;birth&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;today&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;Date&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;years&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;today&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;getFullYear&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="nx"&gt;birth&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;getFullYear&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;beforeBirthday&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt;
    &lt;span class="nx"&gt;today&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;getMonth&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="nx"&gt;birth&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;getMonth&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt;
    &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;today&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;getMonth&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="nx"&gt;birth&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;getMonth&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nx"&gt;today&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;getDate&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="nx"&gt;birth&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;getDate&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;beforeBirthday&lt;/span&gt; &lt;span class="p"&gt;?&lt;/span&gt; &lt;span class="nx"&gt;years&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;years&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;mortgage&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;300000&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;6.5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;30&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;toFixed&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt; &lt;span class="c1"&gt;// ≈ 1896.20&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;bmi&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;70&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;1.75&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;toFixed&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;             &lt;span class="c1"&gt;// 22.9&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;age&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;Date&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;1990-08-20&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)));&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Making them fast
&lt;/h2&gt;

&lt;p&gt;Keep everything client-side: these are pure functions, so there's no need for a server round trip. Recalculate on every &lt;code&gt;input&lt;/code&gt; event, validate for empty or negative values, and format output with &lt;code&gt;Intl.NumberFormat&lt;/code&gt;. If you want to see these ideas running as finished tools, I've put live versions at &lt;a href="https://calcrio.com" rel="noopener noreferrer"&gt;https://calcrio.com&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Small formulas, careful edge cases, instant feedback — that's really all an online calculator is. Happy building!&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>beginners</category>
      <category>tools</category>
      <category>javascript</category>
    </item>
  </channel>
</rss>
