Somma double con integer da un risultato strano

di il
6 risposte

Somma double con integer da un risultato strano

     dati[4] =( Double.parseDouble(inserimento_double) * Integer.parseInt(jTextField3.getText()))  + " €";


( Double.parseDouble(inserimento_double) è uguale a 5.4 mentre questo Integer.parseInt(jTextField3.getText())) è 6 e il totale mi risulta 32.00000000000006 perché mi viene questo risultato strano?

6 Risposte

  • Re: Somma double con integer da un risultato strano

    Somma o moltiplicazione?
    Comunque il risultato è corretto. Setta il numero di decimali che vuoi
    
            double d = 5.4;
            int e = 6;
            System.out.printf("%.6f\n", d * e);
    
    O usa uno degli altri metodi di arrotondamento
  • Re: Somma double con integer da un risultato strano

    p0ll0_ ha scritto:


    e il totale mi risulta 32.00000000000006 perché mi viene questo risultato strano?
    È il "solito" ben noto problema della aritmetica in floating-point. Vedi: https://www.iprogrammatori.it/forum-programmazione/java/piccolo-problemino-con-una-sottrazione-t43128.html
  • Re: Somma double con integer da un risultato strano

    Grazie mille
  • Re: Somma double con integer da un risultato strano

    Continuo a non capire che devo fare.
     float boh =("%.6f\n", pp * quantita);
    sia con double che con float da errore. Ma così sono SICURISSIMA che la moltiplicazione tra double e int viene giusta?
  • Re: Somma double con integer da un risultato strano

    Per le somme e lo sottrazioni ho fatto csì, non so se funziona, non so fare i calcoli a mente bene
               double pp = Double.parseDouble(jSpinner_prezzo.getValue() + "")
                            - Double.parseDouble(jSpinner2.getValue() + "");
                    String ppp = new CLASSE_ALTRO().sistema_virgola_(pp + "");
    
                    float prezzo = (float) Double.parseDouble(ppp);
                    if (jRadioButton3.isSelected()) {
                        pp = Double.parseDouble(new CLASSE_ALTRO().sistema_virgola_(jSpinner_prezzo.getValue() + ""))
                                + Double.parseDouble(new CLASSE_ALTRO().sistema_virgola_(jSpinner2.getValue() + ""));
                    }
                    prezzo = (float) pp;
    
                    if (prezzo != rs.getDouble("price")) {
                        if (aggiorna_("price = " + prezzo, "Prezzo modificato: " + prezzo + " €")) {
                            jSpinner_prezzo.setBorder(javax.swing.BorderFactory.createLineBorder(colore_errori));
                            errori = true;
                        }
                    }
    
    non da numero con cifr assurde dopo la virgola...
  • Re: Somma double con integer da un risultato strano

    Hai letto il thread indicato da Andbin? Cosa non ti è chiaro?
Devi accedere o registrarti per scrivere nel forum
6 risposte