Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2013
    Messaggi
    49

    Espressioni regolari e numeri decimali

    Ciao a tutti,
    ho dei numeri interi che vorrei "trasformare" e visualizzare tramite php in numeri decimali con due cifre dopo il punto. Avevo pensato di usare la funzione preg_replace nel seguente modo:
    Codice PHP:
    $integer;
    $pattern '/^(\d+)$/';
    $replacement '/^(\d+).(\d{2})$/';
    $decimal preg_replace($pattern$replacement$integer); 
    Per quanto non sappia se effettivamente il metodo sia corretto, guardando un manuale Php ho visto che l'uso della preg_replace è fatto nel seguente modo, solo che provando a stampare la variabile $decimal ottengo la stampa della espressione regolare all'interno della variabile replacement. Potreste aiutarmi a capire il problema? Grazie a tutti

  2. #2
    Tutte queste righe di codice per mettere due decimali ad un numero
    Fai così:
    Codice PHP:
    $a 50;
    echo 
    number_format($a2); 
    Il risultato sarà: 50.00

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2013
    Messaggi
    49
    In effetti nella richiesta sopra non mi sono spiegato bene forse
    Non era il fatto di inserire le due cifre decimali al numero intero in quel modo, ma ad esempio se ho un numero intero del tipo 14599, questo deve essere visualizzato come 145.99, per quello avevo pensato l'utilizzo della preg_replace

  4. #4
    Codice PHP:
    <?php
    $integer 
    '12345';
    $pattern '/(\d+)(\d{2})/';
    $replacement '$1.$2';
    $decimal preg_replace($pattern$replacement$integer);
    print_r($decimal);
    ?>
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2013
    Messaggi
    49
    Perfetto, adesso va...Grazie mille

  6. #6

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2013
    Messaggi
    49
    Ho ancora un piccolo problemino. Ho notato che con il codice scritto sopra, quando ad esempio ho 50 mi viene stampato 50 e non 0.50...come potrei rimediare a questo problema??? grazie ancora

  8. #8
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Ma se uno scrive 50 significa che vuole quello, inoltre 0.50 a prescindere non può essere 1.50, 2.50, 3.50, etc...
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  9. #9
    Utente di HTML.it
    Registrato dal
    Jan 2013
    Messaggi
    49
    Semplicemente siccome avevo a che fare con degli interi le cui ultime due cifre dovevano rappresentare i decimali del numero (i dati di input sono così rappresentati), se per esempio 45623 avrei dovuto visualizzarlo come 456.23 anche 50 dovrebbe essere visualizzato come 0.50. Comunque sono riuscito a risolvere il problema combinando preg_replace e preg_match. Grazie a tutti

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.