Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: [php] number format

  1. #1
    Utente di HTML.it L'avatar di nabozzz
    Registrato dal
    Nov 2004
    Messaggi
    145

    [php] number format

    Ciao a tutti

    non riesco a venirne fuori.. da un problema che mi pare alquanto semplice (sulla carta)

    Recupero dati numerici da db e voglio visualizzarli ovviamente sostituendo la virgola al punto per i decimali.

    Il fatto è che con number_format visualizzo gli zeri anche se non ci sono decimali.

    Riassumendo... vorrei che accadesse una cosa di questo tipo

    1.00 -> 1
    1.50 -> 1,5
    1.55 -> 1,55

    Se uso ereg_replace mi vengono fuori 2 o 3 virgole!!!

    Grazie!
    ... tutti quanti portiamo un tabarro che asconde... qualche volta una gioia, qualche volta un dolore...

  2. #2
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    non puoi semplicemente fare uno str_replace?

  3. #3
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Ci ho sbattuto la testa 5 minuti e sono arrivato a questa soluzione.
    Non è il massimo dell'eleganza ma mi sembra funzionante.
    Prova e fammi sapere.

    Codice PHP:
    <?php
    $numero 
    1.00;
    $numero_formato number_format($numero2','' ');
    echo 
    $numero_formato;
    echo 
    "
    "
    ;
    $lunghezza strlen($numero_formato);
    $zero strrpos($numero_formato,"0");
    while (
    $zero == ($lunghezza 1)) 
    {
    $numero_formato substr($numero_formato0, -1);
    $zero strrpos($numero_formato,"0");
    $lunghezza--;
    if (
    strrpos($numero_formato,",") == (strlen($numero_formato)-1))
    $numero_formato substr($numero_formato0, -1);
    }
    echo 
    "
    "
    ;
    echo 
    $numero_formato;
    ?>

  4. #4
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    ma perchè cosi è brutto?

    codice:
    echo str_replace('.',',',10.00);  // 10
    echo str_replace('.',',',10.01);  // 10,01

  5. #5
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922


    Grande gianaz.

  6. #6
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Scusa gianaz, sicuramente sono io bestia che non capisco.
    Stavo facendo una prova veloce con lo string replace ma non mi sembra che elimini gli zeri superflui come richiesto da nabozzz.

  7. #7
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    non capisco, io con questo codice ottengo proprio quello che c'è scritto nel commento....
    codice:
    <?php
    echo str_replace('.',',',10.00);  // 10
    echo "
    ";
    echo str_replace('.',',',10.01);  // 10,01
    echo "
    ";
    ?>

  8. #8
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922

    Re: [php] number format

    Originariamente inviato da nabozzz
    Il fatto è che con number_format visualizzo gli zeri anche se non ci sono decimali.

    Riassumendo... vorrei che accadesse una cosa di questo tipo

    1.00 -> 1
    1.50 -> 1,5
    1.55 -> 1,55

  9. #9
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    appunto, scusa ma non ti seguo, ma l'hai provato il codice sopra con i numeri d'esempio?

    ciao

  10. #10
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Scusa gianaz. Hai perfettamente ragione.
    Il tuo codice funziona alla grande.
    Come avevo supposto fin dall'inizio sono io un mega fagiano che stavo pasticciando.
    Complimenti e scusami ancora.

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.