Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di ivy_76
    Registrato dal
    Dec 2004
    Messaggi
    1,822

    PHP: funzione ROUND non va come dovrebbe

    Ciao

    ho un campo PREZZO in una tabella MySQL che è un decimal 12,5. Un valore di esempio è 1200.00000. TRamite la funzione sub_replace cambio il punto con la virgola

    $quantita = str_replace(".", ",", $row[0]);

    Poi vorrei arrotondare questo numero con solo 2 valori decimali

    $quantita = round ($quantita, 2);

    Pero invece che scrivere 1200,00 mi scrive 1200

    Come mai ?
    TORTA DI RISO .. F I N I T A !!

    Da M.C.S.A. a impiegato pubblico :-(

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: PHP: funzione ROUND non va come dovrebbe

    Originariamente inviato da ivy_76
    Ciao

    ho un campo PREZZO in una tabella MySQL che è un decimal 12,5. Un valore di esempio è 1200.00000. TRamite la funzione sub_replace cambio il punto con la virgola

    $quantita = str_replace(".", ",", $row[0]);

    Poi vorrei arrotondare questo numero con solo 2 valori decimali

    $quantita = round ($quantita, 2);

    Pero invece che scrivere 1200,00 mi scrive 1200

    Come mai ?
    round() si aspetta un float. Quindi se hai già un valore (anche come stringa) che ha il punto '.', passalo pure alla round().
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it L'avatar di ivy_76
    Registrato dal
    Dec 2004
    Messaggi
    1,822
    OK ! Cosi funziona. Però mi prende solo la parte intera nel caso in cui la parte decimale siano tutti zeri

    1200,50000 -> 1200,00 ok
    1200,00000 -> 1200 .. io vorrei 1200,00

    E' possibile farlo ?
    TORTA DI RISO .. F I N I T A !!

    Da M.C.S.A. a impiegato pubblico :-(

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da ivy_76
    OK ! Cosi funziona. Però mi prende solo la parte intera nel caso in cui la parte decimale siano tutti zeri

    1200,50000 -> 1200,00 ok
    1200,00000 -> 1200 .. io vorrei 1200,00

    E' possibile farlo ?
    Ho appena detto che si aspetta un float (che in automatico può convertire da una stringa).

    Quindi:
    round ("1200.1234", 2);

    e

    round (1200.1234, 2);

    danno lo stesso risultato. Ma non devi usare la virgola!
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Originariamente inviato da ivy_76
    OK ! Cosi funziona. Però mi prende solo la parte intera nel caso in cui la parte decimale siano tutti zeri

    1200,50000 -> 1200,00 ok
    1200,00000 -> 1200 .. io vorrei 1200,00

    E' possibile farlo ?
    http://se.php.net/manual/it/function.number-format.php

  6. #6
    Utente di HTML.it L'avatar di ivy_76
    Registrato dal
    Dec 2004
    Messaggi
    1,822
    OK ho risolto con il Link che mi hai dato. Grazie

    per andbin avevo scritto male io . Avevo il tuo suggerimento mettendo il punto e non la virgola ma poi nella risposta che ti ho mandato ho scritto male !

    Grazie
    TORTA DI RISO .. F I N I T A !!

    Da M.C.S.A. a impiegato pubblico :-(

  7. #7
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da ivy_76
    per andbin avevo scritto male io . Avevo il tuo suggerimento mettendo il punto e non la virgola ma poi nella risposta che ti ho mandato ho scritto male !
    Nessun problema.

    Nota che number_format() fa già l'arrotondamento come fa round(). Però round() ritorna un float (e quindi dovresti formattarlo in stringa tu) mentre number_format ritorna già una stringa.
    Se devi solo visualizzare il risultato, va bene number_format, se invece ci devi fare altri calcoli, va meglio round().
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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 © 2026 vBulletin Solutions, Inc. All rights reserved.