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

    Sottrazione decimali a 4 cifre

    Ciao a tutti,
    ho un problema sicuramente banale ma che non riesco a risolvere:

    se eseguo questa operazione 500.00 - 100.00 ottengo 400.00 come dovrei

    se faccio 1,000.00 - 100.00 ottengo -99.00. Praticamente mi trasforma 1,000.00 in 1 prendendo la virgola come saparatore decimale.. e allora l'operazione diventa 1 - 100!!!

    Il codice responsabile è questo:
    codice:
    $tot_imp = number_format($tot_imp,2);
    $tot_comp = number_format($tot_comp,2);
    $inps = $tot_imp-$tot_comp;
    Stessa cosa se moltiplico 1,000.00 per 0.20.. ottengo 1*0.20 = 0.20..

    Perchè? E poi posso eliminare la virgola come separatore delle migliaia?


  2. #2
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Un numero trattato con number_format è buono per essere visualizzato, non per farci calcoli.
    Usa i numeri non formattati per fare calcoli

  3. #3
    Hai ragione, ma il mio problema è che la differenza tra le due cifre deve essere fatta senza approssimazione alle cifre successive la seconda decimale..

    Allora ho trovato questa soluzione che pare andare bene:
    Codice PHP:
        $tot_imp number_format($tot_imp,2,'.','');
        
    $tot_comp number_format($tot_comp,2,'.','');
        
    $inps $tot_imp-$tot_comp

  4. #4
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Originariamente inviato da luca200
    Un numero trattato con number_format è buono per essere visualizzato, non per farci calcoli.
    Usa i numeri non formattati per fare calcoli
    Se hai dei vincoli sul numero di decimali usa round()

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.