Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    170

    Risultato sbagliato addizioni PHP

    Da un file di testo carico delle stringhe scritte così:

    Nome;Importo;Nome;Nome

    e devo sommare gli importi che possono essere numeri positivi o negativi con al massimo 2 decimali.

    Se il risultato è diverso da 0 mi stampa l'errore con la relativa disuguaglianza. Lo script funziona, tuttavia in alcune casi (non riesco a capire quali) mi da un disavanzo di 0.000000000545 (un numero a caso per farvi capire).

    Non riesco a capire dove sia il problema visto che gli importi inseriti sono al massimo con 2 cifre decimali e matematicamente non è possibile che venga fuori un numero così piccolo.

    Un paio di volte ho risolto riscrivendo il file di testo mentre attualmente mi da lo stesso problema anche se lo riscrivo.

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Il problema sta nell'errore di rappresentazione dei numeri decimali.
    Se ne era già parlato tempo fa ed era saltata fuori una libreria per gestire al meglio tali numeri, prova a fare una ricerca, dovresti trovare la discussione.

    Inoltre leggi qui.

  3. #3
    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    170
    Grazie mille,

    avevo già cercato su google e avevo trovato un risultato nel quale mi parlava di questi errori però adesso con i vostri link mi è più chiaro.

    Visto che si tratta di un errore di PHP, per risolvere velocemente ho semplicemente messo un round($var, 2) alla condizione.

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.