Errore operazioni

di il
4 risposte

Errore operazioni

Salve a tutti , ho creato un codice di una calcolatrice in javascript molto basilare ma nell'esecuzione non mi fa svolgere solo l'addizione e non capisco il motivo. Qui sotto lascio il codice , grazie per l'aiuto

<!DOCTYPE html>
<html>
<head>
<title> prova </title>
</head>
<body>
<script language="Javascript">


var a=(prompt("Inserisci il primo numero"));
var b=(prompt("Inserisci il secondo numero"));
var c=(prompt("inserisci segno t=totale / s=sottrazione / m=moltiplicazione / d=divisione "));
if (c=="t")
{
somma = a + b;
alert ("somma" + somma);
confirm();
}
if (c=="s")
{
sottrazione = a - b;

alert ("sottrazione" +sottrazione);
confirm();
}
if (c=="m")
{
moltiplicazione= a * b;
alert ("moltiplicazione " + moltiplicazione);
confirm();


}
if (c=="d")
{
divisione = a / b;
alert ("divisione " +divisione);
confirm();
}
</script>
</body>
</html>

4 Risposte

  • Re: Errore operazioni

    La funzione prompt restituisce una stringa, quindi le tue variabili a e b non sono memorizzati come numeri e questo genera dei comportamenti indesiderati se ci fai delle operazioni matematiche.

    Per convertire una stringa in numero usa la funzione parseFloat, quindi leggili in questo modo
    var a=parseFloat(prompt("Inserisci il primo numero"));
    var b=parseFloat(prompt("Inserisci il secondo numero"));
    
  • Re: Errore operazioni

    Però da errore solo nell'addizione e nelle altre operazioni no
  • Re: Errore operazioni

    È si vero che quelle variabili sono stringhe, ma se ci fai differenza, moltiplicazione o divisione, allora JS presume che tu voglia fare un operazione matematica e le converte in automatico in un numero per calcolare `c`.

    Mentre se fai l'addizione allora JS da precedenza al fatto che l'operatore "più" serve a concatenare stringhe.
  • Re: Errore operazioni

    Grazie mille per l'aiuto
Devi accedere o registrarti per scrivere nel forum
4 risposte