Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [Mysql] Problema con funzione sum

    Ciao a tutti
    Scrivo qui perchè programmo in php, anche se il problema in realtà riguarda il db mysql che uso.
    Dunque.
    Con uno script, tramite dei filtri applicati al db, ottengo delle semplici somme con una query simile a questa anche se più complessa:



    codice:
    $sum = "SELECT sum(campo_a) from table where campo_b = 'x'";
    Tutto perfetto, ho fatto decine di prove e i numeri estratti sono sempre corretti, la query funziona.
    Oggi però ha tirato fuori un numero sbagliato.
    Ho guardato i campi che sommava e i loro valori erano:

    86.64
    1.94
    -86.64
    -1.94

    ...va da sè che il risultato fosse zero.
    Invece mi estrae un numero così:

    -2,2204460492503e-015

    Mi dite qual è la proprietà di mysql che ignoro?

    Grazie mille!!!

  2. #2
    E' il tipico "problema" di arrotondamento con numeri in virgola mobile.

  3. #3
    Però più che arrotondare male, tira fuori proprio una cifra sbagliata, numeri interi compresi. Si tratta di un 2 invece che uno zero..o mi perdo ancora qualcosa? :master:

  4. #4
    Originariamente inviato da Febbraio
    Però più che arrotondare male, tira fuori proprio una cifra sbagliata, numeri interi compresi. Si tratta di un 2 invece che uno zero..o mi perdo ancora qualcosa?
    Ti perdi il concetto di virgola mobile:

    http://it.wikipedia.org/wiki/Numero_in_virgola_mobile

    -2,2204460492503e-015

  5. #5
    Hai perfettamente ragione.
    Con un semplice round è andato a posto, tra l'altro.
    Grazie mille

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.