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 : Sélectionner tout - Visualiser dans une fenêtre à part
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`; // } };
Partager