Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di Threepwood
    Registrato dal
    Feb 2003
    Messaggi
    2,107

    [JS] Problema con le somme decimali

    Salve a tutti

    Ho una serie di valori decimali in dei campi.

    es.
    2500.56
    1262.00
    1290.00
    5600.95

    Bene.. se vado a fare le somme (con il parseFloat) mi mette un'infinità di numeri decimali.

    In pratica se li sommo mi ritorna: 5052.55999999999995

    la sintassi che uso è semplice :
    codice:
    somma=parseFloat(...)+parseFloat(...)+parseFloat(...)+parseFloat(...);
    Guybrush Threepwood

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Moltiplica tutto per 100, somma, dividi per 100.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  3. #3
    Utente di HTML.it L'avatar di Threepwood
    Registrato dal
    Feb 2003
    Messaggi
    2,107
    Originariamente inviato da Andrea1979
    Moltiplica tutto per 100, somma, dividi per 100.
    Questo lo avevo in mente...ma c'è modo di sistemare il tutto "come natura vuole"?
    Guybrush Threepwood

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    non so... è un problema di floating point comune a cui non penso sia stata messa una pezza (se non qualche sistema "fai da te")
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  5. #5
    Utente di HTML.it L'avatar di Threepwood
    Registrato dal
    Feb 2003
    Messaggi
    2,107
    Ok, mi accontento

    un'altra domanda : se la somma dei valori da 350 come faccio per imporre sempre 2 decimali? (350.00 )
    Guybrush Threepwood

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    mah...

    codice:
    stringanumerica += (stringanumerica.indexOf(".") == -1 ? ".00" : "");
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  7. #7
    Utente di HTML.it L'avatar di Threepwood
    Registrato dal
    Feb 2003
    Messaggi
    2,107
    uhm.. così mi da errore...
    Calcola che la stringa che vado a passare sarebbe un intero (perchè prima vi è stato convertito con un parseInt)
    Guybrush Threepwood

  8. #8
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    aggiungi un

    stringanumerica += "";

    prima di quell'istruzione.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

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.