Fonctions scientifiques pour calculatrice
Bonjour,
Je suis train de faire une calculatrice en Javascript/HTML avec affichage sur une ligne.
Les opérateurs et les nombres sont donc présent dans le même textaera ou input.
Pour commencer j'ai utilisé la methode eval(string), mais celle-ci ne fonctionne pas quand on veut utiliser les methodes Math.sqrt, Math.Pi etc...
Quelle est l'alternative?
Voici mon code avec une regex pour Math.sqrt qui renvoi "illegal character" sur firefox:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
equal.onclick = () => {
let resultat = calculLine.value; //calculLine represente un textaera
let regexSquare = /(^\(?\d*\)?$)²/;
resultat = resultat.replace(regexSquare,"Math.sqrt($1)" );
try
{
result.innerHTML = `${resultat} = ${eval(resultat)}`; } //result est une div servant à l'affichage du resultat
catch(e)
{
result.innerHTML=`${resultat} => Syntax Error`; //
}
}; |