Blog - Programmazione PHP

Torna al blog

Google Hack
Google ci segnala i siti che potrebbero essere stati hackerati o compromessi

Parole 2010
Le parole più cercate nel 2010 su Google in Italia

Archives

Tags

  • jQuery (11)
  • cycle (10)
  • php (3)
  • galleria (2)
  • MODx (2)
  • google (2)
  • programmazione (2)
  • gallerific (1)
  • prestashop (1)
  • keyword (1)
  • Formattare i numeri con php



    Nel corso di questo breve tutorial impareremo ad utilizzare le principali funzione che php ci mette a disposizione. In particolar modo vedremo come:

    • visualizzare i numeri come valuta
    • usare il divisore italiano virgola per separare i decimali
    • usare il divisore italiano punto per dividere le migliaia
    • aggiungere degli zeri in testa (fillare a zero a sinistra)

    Nel caso si voglia formattare un numero per visualizzarlo come valuta useremo 2 funzioni:

    setlocale(LC_MONETARY, 'it_IT');
    money_format('%.2n', $numero);

    Facciamo un esempio pratico

    $numero = 1534.02;
    setlocale(LC_MONETARY, 'it_IT');
    echo money_format('%.2n', $numero);


    A schermo otterremo EUR 1.534,02

    Un risultato simile possiamo tenerlo anche con la funzione number_format. Questa funzione prevede 4 parametri:

    In particolar modo impareremo a

    • il numero da formattare
    • le cifre da visualizzare dopo la virgola
    • il separatore per le cifre dopo la virgola
    • il separatore delle migliaia

    Seguendo la logica dell'esempio precedente:

    $numero = 1534.02;
    number_format( $numero, 2, ',', '.')

    A schermo otterremo 1.534,02

    In questo esempio abbiamo forzato la troncatura del numero a due cifre dopo la virgola (anche se il numero aveva già due sole cifre dopo la virgola). Se avessimo avuto 3 cifre dopo la virgola con la funzione così impostata PHP avrebbe provveduto automaticamente ad arrotondare per eccesso o per difetto a seconda del valore meno significativo.

    Nel caso si voglia troncare un numero senza effettuare l’arrotondamento occorre usare oportunamente la funzione floor(), moltiplicando (ad esempio per 100 se si vogliono due decimali) e dividendo per lo stesso valore, ad esempio:

    $valore = floor((1234.5678) * 100) * .01;

    Per aggiungere degli zeri in testa ad un numero e quindi fillarlo a zero a sinistra possiamo utilizzare la funzione sprintf. Se, ad esempio, vogliamo avere numeri tutti di 6 cifre fillati con zeri in testa, possiamo fare:

    $valore = sprintf("%06d", $numeroDaFillare);

    La funzione number_format può essere usata in molti altri casi vi invito quindi a dare un occhio su php.net alle funzioni:

    Stay tuned!

    Comments (0)



    This thread has been closed from taking new comments.