commit 75c195ba2af70d9262d86570a865a0745f4519d3
parent c69a213a1824c51bb99f9fcb0c7f2dbce94639cf
Author: fen123456 <fenwthompson@gmail.com>
Date: Fri, 14 Aug 2026 15:56:35 +0100
Fix fraction simplification
Diffstat:
2 files changed, 3 insertions(+), 4 deletions(-)
diff --git a/src/components/questions/AddingFractionsQuestion.jsx b/src/components/questions/AddingFractionsQuestion.jsx
@@ -23,9 +23,8 @@ export default function AddingFractionsQuestion({ seed, showAnswer }) {
const hcf = getHCF(denom1, denom2);
const sum = (num1 * denom2 + num2 * denom1) / hcf;
const lcm = denom1 * denom2 / hcf;
- const [num, denom] = simplifyFraction(sum, lcm);
- const answer = formatFraction(num, denom);
+ const answer = formatFraction(sum, lcm, {showOne: true, showZero: true, simplify: true});
return <Question question={question} answer={answer} showAnswer={showAnswer} />;
}
diff --git a/src/scripts/utils.js b/src/scripts/utils.js
@@ -42,12 +42,12 @@ export function formatFraction(num, denom, parameters = { showPlus: false, showO
const sign = num / denom < 0 ? '-' : plus;
[num, denom] = [Math.abs(num), Math.abs(denom)]
- [num, denom] = parameters.simplify ? [num, denom] : simplifyFraction(num, denom)
+ [num, denom] = parameters.simplify ? simplifyFraction(num, denom) : [num, denom]
parameters.suffix || (parameters.suffix = '')
+ if (denom == 1) { return sign + Math.abs(num) + parameters.suffix; }
let x = `frac(${num}, ${denom})`
parameters.showOne || num / denom == 1 && (x = '');
- if (denom == 1) { return sign + Math.abs(num) + parameters.suffix; }
return sign + x + parameters.suffix
}