Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    794

    approssimazione errata decimali

    Ragazzi uso queste due funzioni per gestire il prezzo:

    $prezzo = $row_schede['prezzo'];
    $totale = $prezzo * $quantita;
    $tot_imponibile = $tot_imponibile + $totale;
    $prezzo = str_replace(".",",",$prezzo);
    $prezzo = number_format($prezzo, 2, ',', ',');

    $totale = str_replace(".",",",$totale);
    $totale = number_format($totale, 2, ',', ',');

    $totale_ivato = $totale_ivato + $tot_imponibile;
    $to_ivato = $totale_ivato;
    $totale_ivato = str_replace(".",",",$totale_ivato);
    $totale_ivato = number_format($totale_ivato, 2, ',', ',');
    $tot_imponibile = str_replace(".",",",$tot_imponibile);
    $tot_imponibile = number_format($tot_imponibile, 2, ',', ',');

    Quando stampo il totale_ivato, mi fa l'arrotondamento per eccesso o per difetto che non deve fare.
    Come risolvo?

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    mah... number_format lavora proprio arrotonando il numero sulla base dei decimali indicati... tu cosa vorresti fare? Troncare invece di arrotondare o cosa?

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    794
    ne troncare e ne arrotondare. Se il numero è 23,80 io devo trasformarlo in 23.80 lasciando anche i decimali.

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    mmh... ma se dici che viene arrotondato, allora cosa intendi? al valore intero?... se è così il problema è nella chiamata str_replace che fai la riga precedente a number_format... cambi il "." con la "," e quindi quando chiami number_format per lui il numero è solo la prima farte (fino alla virgola)... perchè usi str_replace per cambiare "." con ","? Elimina quelle righe.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    794
    si viene arrotondato al valore intero ma non deve essere arrotondato...

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.