Convert Decimal to Fraction
Convert to Fraction
Convert Fraction to Decimal
Convert to Decimal
Add/Subtract Fractions
Add
Subtract
Calculate
function gcd(a, b) {
return b ? gcd(b, a % b) : a;
}
function convertDecimalToFraction() {
let decimal = parseFloat(document.getElementById(‘decimalInput’).value);
if (!isNaN(decimal)) {
let len = decimal.toString().length – 2;
let denominator = Math.pow(10, len);
let numerator = decimal * denominator;
let divisor = gcd(numerator, denominator);
numerator /= divisor;
denominator /= divisor;
document.getElementById(‘fractionOutput’).innerText = numerator + ‘/’ + denominator;
}
}
function convertFractionToDecimal() {
let fraction = document.getElementById(‘fractionInput’).value.split(‘/’);
if (fraction.length === 2 && !isNaN(fraction[0]) && !isNaN(fraction[1])) {
let decimal = parseFloat(fraction[0]) / parseFloat(fraction[1]);
document.getElementById(‘decimalOutput’).innerText = decimal;
}
}
function calculateFractions() {
let fraction1 = document.getElementById(‘fractionInput1’).value.split(‘/’);
let fraction2 = document.getElementById(‘fractionInput2’).value.split(‘/’);
let operation = document.getElementById(‘operation’).value;
if (fraction1.length === 2 && fraction2.length === 2) {
let num1 = parseFloat(fraction1[0]);
let denom1 = parseFloat(fraction1[1]);
let num2 = parseFloat(fraction2[0]);
let denom2 = parseFloat(fraction2[1]);
let commonDenom = denom1 * denom2;
let adjustedNum1 = num1 * denom2;
let adjustedNum2 = num2 * denom1;
let resultNumerator = operation === ‘add’ ? adjustedNum1 + adjustedNum2 : adjustedNum1 – adjustedNum2;
let resultDenominator = commonDenom;
let divisor = gcd(resultNumerator, resultDenominator);
resultNumerator /= divisor;
resultDenominator /= divisor;
document.getElementById(‘fractionCalcOutput’).innerText = resultNumerator + ‘/’ + resultDenominator;
}
}