small fixes

This commit is contained in:
2026-03-01 19:48:29 -04:00
parent 364facd9f0
commit 1764adf0a5
15 changed files with 68 additions and 24 deletions

View File

@@ -1,6 +1,20 @@
import { gcd } from "./fractions";
import { simplifyRatio } from "./ratios";
/** Parse a strict decimal string (digits and optional single dot). Rejects scientific notation, trailing letters, etc. */
export function parseStrictDecimal(input: string): number | null {
const s = input.trim();
if (!/^\d+(\.\d+)?$/.test(s)) return null;
return parseFloat(s);
}
/** Parse a strict integer string (digits only, no dot or letters). */
export function parseStrictInt(input: string): number | null {
const s = input.trim();
if (!/^\d+$/.test(s)) return null;
return parseInt(s, 10);
}
export type AnswerResult =
| { correct: true; simplified: boolean }
| { correct: false; message: string };