Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di lnessuno
    Registrato dal
    Feb 2002
    Messaggi
    2,732

    [Jquery + js] La somma dei valori di alcuni input viene sbagliata

    Non capisco davvero.. ho un fieldset che contiene un numero (variabile) di input, ogni input ha un valore variabile.

    mi sono costruito questa semplice funzione
    codice:
    $("#container input").change(function() {
        $("#totale").val(0);
        $("#container input").each(function() {
            valsingle = $(this).val() * 1;
            valtotal = $("#container").val() * 1;
            $("#container").val(valsingle + valtotal);
        });
    });
    il tutto sembra funzionare benone... il problema è che se io ho 6 input, tutte con valore 166.660, il totale mi viene 999.9599999999999

    ma perchè?

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Il javascript utilizza valori numerici con notazione esponenziale a virgola mobile e precisione doppia... un errore di una parte su millemilardi come nel tuo caso mi pare un ottimo risultato... centreresti una moneta sulla luna

    Se vuoi puoi usare i metodi dell'oggetto Math che mette a disposizione il linguaggio, per esempio Math.round() http://www.devguru.com/technologies/...ript/10734.asp

    oppure il metodo numero_da_trattare.toFixed(numero_di_decimali_rich iesti)

    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

  3. #3
    Utente di HTML.it L'avatar di lnessuno
    Registrato dal
    Feb 2002
    Messaggi
    2,732
    eh, purtroppo si tratta di soldi e di gente che se vede una cosa del genere è capace di avere una crisi isterica

    ho risolto come mi hai detto, grazie 1000.toFixed(3)

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 © 2025 vBulletin Solutions, Inc. All rights reserved.