Visualizzazione dei risultati da 1 a 4 su 4

Discussione: 38,73*10 = ???

  1. #1

    38,73*10 = ???

    Ho questo script

    somma = 38.73*10;
    alert(somma);

    e mi stampa 387.29999999eccecc.5

    cosi, quando uso la funzioncina per troncare a due i decimali
    parseInt(costo*100)/100;

    mi stampa
    387.29


    a parte che non capisco perchè si comporti cosi... (quella moltiplicazione non dovrebbe dare 387,30?) .. esiste un modo per risolvere e fammi stampare il risultato giusto?

  2. #2
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    invece di fare il parseInt() arrotonda con Math.round()

  3. #3
    Il motivo lo spiegano molto bene qui: http://blog.unidev.com/index.php/200...in-javascript/

    Mariella

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Originariamente inviato da ladyj
    Il motivo lo spiegano molto bene qui: http://blog.unidev.com/index.php/200...in-javascript/

    In questi due anni trascorsi dalla domanda abbiamo risolto in tanti modi, compreso quello consigliato.

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.