diff --git a/app/templates/includes/tools/calculator.html b/app/templates/includes/tools/calculator.html index c350a24..829411d 100644 --- a/app/templates/includes/tools/calculator.html +++ b/app/templates/includes/tools/calculator.html @@ -66,7 +66,7 @@ }) end then set expr to it - then call math.evaluate(expr) + then call math.evaluate(expr).toNumber() if result exists and result is a Number js(result) return result.toLocaleString(undefined, {minimumFractionDigits: 0, maximumFractionDigits: 40}) diff --git a/frontend/src/application/htmx.js b/frontend/src/application/htmx.js index c3f3fd6..a53c5bf 100644 --- a/frontend/src/application/htmx.js +++ b/frontend/src/application/htmx.js @@ -2,18 +2,23 @@ import _hyperscript from 'hyperscript.org/dist/_hyperscript.min'; import './_htmx.js'; import Alpine from "alpinejs"; import mask from '@alpinejs/mask'; -import { create, all } from 'mathjs'; +import {create, all} from 'mathjs'; window.Alpine = Alpine; window._hyperscript = _hyperscript; -window.math = create(all, { }); +window.math = create(all, { + number: 'BigNumber', // Default type of number: + // 'number' (default), 'BigNumber', or 'Fraction' + precision: 64, // Number of significant digits for BigNumbers + relTol: 1e-60, + absTol: 1e-63 +}); Alpine.plugin(mask); Alpine.start(); _hyperscript.browserInit(); - const successAudio = new Audio("/static/sounds/success.mp3"); const popAudio = new Audio("/static/sounds/pop.mp3"); window.paidSound = successAudio;