Enter two fractions and select an operation to calculate the result step-by-step.
+
–
×
÷
Result:
Steps:
.fraction-calculator-container {
font-family: Arial, sans-serif;
max-width: 700px;
margin: 20px auto;
padding: 25px;
border: 1px solid #ddd;
border-radius: 8px;
background-color: #f9f9f9;
box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}
.fraction-calculator-container h2 {
text-align: center;
color: #333;
margin-bottom: 20px;
}
.fraction-calculator-container p {
text-align: center;
margin-bottom: 25px;
color: #555;
}
.fraction-input-group {
display: flex;
justify-content: center;
align-items: center;
gap: 15px;
margin-bottom: 25px;
flex-wrap: wrap;
}
.fraction-input {
display: flex;
align-items: center;
gap: 5px;
}
.fraction-input label {
font-weight: bold;
color: #444;
}
.fraction-input input[type="number"] {
width: 60px;
padding: 8px;
border: 1px solid #ccc;
border-radius: 4px;
text-align: center;
-moz-appearance: textfield; /* Firefox */
}
.fraction-input input[type="number"]::-webkit-outer-spin-button,
.fraction-input input[type="number"]::-webkit-inner-spin-button {
-webkit-appearance: none;
margin: 0;
}
.operation-selector select {
padding: 8px 12px;
border: 1px solid #ccc;
border-radius: 4px;
background-color: #fff;
font-size: 1rem;
min-width: 70px;
}
.fraction-calculator-container button {
display: block;
width: auto;
margin: 0 auto 30px auto;
padding: 12px 25px;
background-color: #007bff;
color: white;
border: none;
border-radius: 5px;
font-size: 1.1rem;
cursor: pointer;
transition: background-color 0.3s ease;
}
.fraction-calculator-container button:hover {
background-color: #0056b3;
}
.fraction-result-area {
background-color: #e9ecef;
padding: 20px;
border-radius: 6px;
border: 1px solid #dee2e6;
}
.fraction-result-area h3 {
color: #333;
margin-top: 0;
margin-bottom: 15px;
text-align: center;
}
.result-display {
font-size: 1.8rem;
font-weight: bold;
color: #28a745;
text-align: center;
margin-bottom: 20px;
word-wrap: break-word;
}
.steps-display {
font-size: 1rem;
color: #343a40;
line-height: 1.6;
background-color: #f8f9fa;
padding: 15px;
border-radius: 5px;
border: 1px solid #e2e6ea;
}
.steps-display p {
margin-bottom: 8px;
text-align: left;
}
.steps-display strong {
color: #0056b3;
}
.error-message {
color: #dc3545;
font-weight: bold;
text-align: center;
margin-bottom: 15px;
}
// Helper function to calculate Greatest Common Divisor (GCD)
function gcd(a, b) {
a = Math.abs(a);
b = Math.abs(b);
while (b) {
var temp = b;
b = a % b;
a = temp;
}
return a;
}
// Helper function to calculate Least Common Multiple (LCM)
function lcm(a, b) {
if (a === 0 || b === 0) return 0;
return Math.abs(a * b) / gcd(a, b);
}
// Helper function to simplify a fraction
function simplifyFraction(numerator, denominator) {
if (denominator === 0) {
return [numerator, 0]; // Handle division by zero case, though inputs should prevent this
}
if (numerator === 0) {
return [0, 1]; // 0/x = 0
}
var commonDivisor = gcd(numerator, denominator);
var simplifiedNumerator = numerator / commonDivisor;
var simplifiedDenominator = denominator / commonDivisor;
// Ensure the denominator is always positive
if (simplifiedDenominator 0 ? "Undefined (Positive Infinity)" : numerator < 0 ? "Undefined (Negative Infinity)" : "Undefined (0/0)";
}
if (numerator === 0) {
return "0";
}
if (denominator === 1) {
return numerator.toString();
}
return numerator + "/" + denominator;
}
function calculateFractions() {
var numerator1 = parseFloat(document.getElementById("numerator1").value);
var denominator1 = parseFloat(document.getElementById("denominator1").value);
var numerator2 = parseFloat(document.getElementById("numerator2").value);
var denominator2 = parseFloat(document.getElementById("denominator2").value);
var operation = document.getElementById("operation").value;
var resultDiv = document.getElementById("fractionResult");
var stepsDiv = document.getElementById("fractionSteps");
resultDiv.innerHTML = "";
stepsDiv.innerHTML = "";
// Input validation
if (isNaN(numerator1) || isNaN(denominator1) || isNaN(numerator2) || isNaN(denominator2)) {
resultDiv.innerHTML = "Please enter valid numbers for all fields.";
return;
}
if (denominator1 === 0 || denominator2 === 0) {
resultDiv.innerHTML = "Denominator cannot be zero.";
return;
}
var resultNumerator, resultDenominator;
var steps = [];
var fraction1Str = formatFraction(numerator1, denominator1);
var fraction2Str = formatFraction(numerator2, denominator2);
steps.push("You want to calculate: " + fraction1Str + " " + operationSymbol(operation) + " " + fraction2Str + "");
switch (operation) {
case "add":
steps.push("Step 1: Find a Common Denominator (LCM).");
var commonDenomAdd = lcm(denominator1, denominator2);
steps.push("The Least Common Multiple (LCM) of " + denominator1 + " and " + denominator2 + " is " + commonDenomAdd + ".");
steps.push("Step 2: Convert fractions to equivalent fractions with the common denominator.");
var newNumerator1Add = numerator1 * (commonDenomAdd / denominator1);
var newNumerator2Add = numerator2 * (commonDenomAdd / denominator2);
steps.push("" + fraction1Str + " becomes " + formatFraction(newNumerator1Add, commonDenomAdd) + "");
steps.push("" + fraction2Str + " becomes " + formatFraction(newNumerator2Add, commonDenomAdd) + "");
steps.push("Step 3: Add the numerators.");
resultNumerator = newNumerator1Add + newNumerator2Add;
resultDenominator = commonDenomAdd;
steps.push("" + newNumerator1Add + " + " + newNumerator2Add + " = " + resultNumerator + "");
steps.push("So, the sum is " + formatFraction(resultNumerator, resultDenominator) + "");
break;
case "subtract":
steps.push("Step 1: Find a Common Denominator (LCM).");
var commonDenomSub = lcm(denominator1, denominator2);
steps.push("The Least Common Multiple (LCM) of " + denominator1 + " and " + denominator2 + " is " + commonDenomSub + ".");
steps.push("Step 2: Convert fractions to equivalent fractions with the common denominator.");
var newNumerator1Sub = numerator1 * (commonDenomSub / denominator1);
var newNumerator2Sub = numerator2 * (commonDenomSub / denominator2);
steps.push("" + fraction1Str + " becomes " + formatFraction(newNumerator1Sub, commonDenomSub) + "");
steps.push("" + fraction2Str + " becomes " + formatFraction(newNumerator2Sub, commonDenomSub) + "");
steps.push("Step 3: Subtract the numerators.");
resultNumerator = newNumerator1Sub – newNumerator2Sub;
resultDenominator = commonDenomSub;
steps.push("" + newNumerator1Sub + " – " + newNumerator2Sub + " = " + resultNumerator + "");
steps.push("So, the difference is " + formatFraction(resultNumerator, resultDenominator) + "");
break;
case "multiply":
steps.push("Step 1: Multiply the numerators.");
resultNumerator = numerator1 * numerator2;
steps.push("" + numerator1 + " × " + numerator2 + " = " + resultNumerator + "");
steps.push("Step 2: Multiply the denominators.");
resultDenominator = denominator1 * denominator2;
steps.push("" + denominator1 + " × " + denominator2 + " = " + resultDenominator + "");
steps.push("So, the product is " + formatFraction(resultNumerator, resultDenominator) + "");
break;
case "divide":
steps.push("Step 1: Invert the second fraction (find its reciprocal).");
var invertedNumerator2 = denominator2;
var invertedDenominator2 = numerator2;
steps.push("" + fraction2Str + " becomes " + formatFraction(invertedNumerator2, invertedDenominator2) + "");
if (invertedDenominator2 === 0) {
resultDiv.innerHTML = "Cannot divide by zero (second fraction's numerator is zero).";
stepsDiv.innerHTML = "";
return;
}
steps.push("Step 2: Multiply the first fraction by the reciprocal of the second fraction.");
steps.push("" + fraction1Str + " × " + formatFraction(invertedNumerator2, invertedDenominator2) + "");
resultNumerator = numerator1 * invertedNumerator2;
resultDenominator = denominator1 * invertedDenominator2;
steps.push("Multiply numerators: " + numerator1 + " × " + invertedNumerator2 + " = " + resultNumerator + "");
steps.push("Multiply denominators: " + denominator1 + " × " + invertedDenominator2 + " = " + resultDenominator + "");
steps.push("So, the quotient is " + formatFraction(resultNumerator, resultDenominator) + "");
break;
}
steps.push("Step 4: Simplify the resulting fraction.");
var simplified = simplifyFraction(resultNumerator, resultDenominator);
var finalNumerator = simplified[0];
var finalDenominator = simplified[1];
if (finalDenominator === 0) {
resultDiv.innerHTML = formatFraction(finalNumerator, finalDenominator);
steps.push("The fraction " + formatFraction(resultNumerator, resultDenominator) + " cannot be simplified further as the denominator is zero, resulting in an undefined value.");
} else if (finalNumerator === 0) {
resultDiv.innerHTML = "0";
steps.push("The fraction " + formatFraction(resultNumerator, resultDenominator) + " simplifies to 0.");
} else if (finalDenominator === 1) {
resultDiv.innerHTML = finalNumerator.toString();
steps.push("The fraction " + formatFraction(resultNumerator, resultDenominator) + " simplifies to the integer " + finalNumerator + ".");
} else {
resultDiv.innerHTML = finalNumerator + "/" + finalDenominator;
if (resultNumerator === finalNumerator && resultDenominator === finalDenominator) {
steps.push("The fraction " + formatFraction(resultNumerator, resultDenominator) + " is already in its simplest form.");
} else {
steps.push("Divide both the numerator (" + resultNumerator + ") and the denominator (" + resultDenominator + ") by their Greatest Common Divisor (" + gcd(resultNumerator, resultDenominator) + ").");
steps.push("Simplified fraction: " + finalNumerator + "/" + finalDenominator + "");
}
}
stepsDiv.innerHTML = steps.join("");
}
function operationSymbol(op) {
switch (op) {
case "add": return "+";
case "subtract": return "-";
case "multiply": return "×";
case "divide": return "÷";
default: return "";
}
}
Understanding Fractions: A Comprehensive Guide
Fractions are a fundamental concept in mathematics, representing a part of a whole. They are written as a ratio of two numbers, a numerator (the top number) and a denominator (the bottom number). The denominator indicates how many equal parts the whole is divided into, and the numerator indicates how many of those parts are being considered.
What is a Fraction?
A fraction, such as 1⁄2, 3⁄4, or 7⁄8, consists of:
Numerator: The number above the line, indicating how many parts are taken.
Denominator: The number below the line, indicating the total number of equal parts the whole is divided into. The denominator can never be zero.
For example, in the fraction 3⁄4, the whole is divided into 4 equal parts, and we are considering 3 of those parts.
Types of Fractions
Proper Fraction: The numerator is less than the denominator (e.g., 1⁄2, 3⁄5).
Improper Fraction: The numerator is greater than or equal to the denominator (e.g., 5⁄4, 7⁄3).
Mixed Number: A whole number and a proper fraction combined (e.g., 1 1⁄2, which is equivalent to 3⁄2).
Equivalent Fractions: Fractions that represent the same value, even though they have different numerators and denominators (e.g., 1⁄2 and 2⁄4).
How to Add and Subtract Fractions
Adding and subtracting fractions requires a common denominator. This is the most crucial step.
Find the Least Common Multiple (LCM) of the denominators: The LCM will be your common denominator.
Convert each fraction to an equivalent fraction: Multiply both the numerator and denominator of each fraction by the factor that makes its denominator equal to the LCM.
Add or subtract the numerators: Keep the common denominator the same.
Simplify the result: Reduce the resulting fraction to its simplest form by dividing both the numerator and denominator by their Greatest Common Divisor (GCD).
Example: Adding 1⁄3 + 1⁄6
LCM of 3 and 6 is 6.
Convert 1⁄3 to 2⁄6 (multiply numerator and denominator by 2). 1⁄6 remains the same.
Add numerators: 2 + 1 = 3. So, the sum is 3⁄6.
Simplify: Divide 3 and 6 by their GCD (which is 3). Result: 1⁄2.
How to Multiply Fractions
Multiplying fractions is simpler than adding or subtracting because you don't need a common denominator.
Multiply the numerators: The product of the numerators becomes the new numerator.
Multiply the denominators: The product of the denominators becomes the new denominator.
Simplify the result: Reduce the resulting fraction to its simplest form.
Example: Multiplying 2⁄3 × 1⁄4
Multiply numerators: 2 × 1 = 2.
Multiply denominators: 3 × 4 = 12.
Result: 2⁄12.
Simplify: Divide 2 and 12 by their GCD (which is 2). Result: 1⁄6.
How to Divide Fractions
Dividing fractions involves a clever trick: "Keep, Change, Flip."
Keep the first fraction: Leave it as it is.
Change the division sign to multiplication: Replace '÷' with '×'.
Flip the second fraction: Invert the second fraction (swap its numerator and denominator) to find its reciprocal.
Multiply the fractions: Follow the rules for multiplying fractions.
Simplify the result: Reduce the resulting fraction to its simplest form.
Example: Dividing 3⁄4 ÷ 1⁄2
Keep 3⁄4.
Change '÷' to '×'.
Flip 1⁄2 to 2⁄1.
Multiply: 3⁄4 × 2⁄1 = (3 × 2)⁄(4 × 1) = 6⁄4.
Simplify: Divide 6 and 4 by their GCD (which is 2). Result: 3⁄2 (or 1 1⁄2 as a mixed number).
Simplifying Fractions
Simplifying a fraction means reducing it to its lowest terms. This is done by dividing both the numerator and the denominator by their Greatest Common Divisor (GCD). The GCD is the largest number that divides evenly into both numbers.
Example: Simplifying 10⁄15
Find the GCD of 10 and 15. The divisors of 10 are 1, 2, 5, 10. The divisors of 15 are 1, 3, 5, 15. The GCD is 5.
Divide both numerator and denominator by 5: 10 ÷ 5⁄15 ÷ 5 = 2⁄3.
Using the Fraction Calculator
Our online fraction calculator simplifies these operations for you. Simply input the numerators and denominators of your two fractions into the designated fields. Select the desired operation (addition, subtraction, multiplication, or division) from the dropdown menu, and then click "Calculate Fraction." The calculator will instantly display the simplified result and provide a detailed, step-by-step explanation of how the calculation was performed, helping you understand the process thoroughly.