La funzione number_format
Gli argomenti di questa pagina
|
La funzione number_format()
La funzione number_format() arrotonda al numero decimale più vicino con un numero di cifre decimali desiderato. E' possibile anche formattare un numero con le migliaia raggruppate.
Questo è lo schema della funzione
number è obbligatorio ed indica il numero che deve essere formattato
decimals: opzionale. Specifica il numero di cifre decimali. Se è impostato questo parametro, il numero verrà formattato con un punto (.) Come punto decimale
decimalpoint: opzionale. Specifica il carattere da usare per il punto decimale
separator: opzionale. Specifica il carattere da utilizzare per separatore delle migliaia. Se viene usato questo parametro debbono essere usati anche tutti gli altri
Questa funzione supporta uno, due o quattro parametri, non tre.
Se viene indicato solo il primo parametro verrà restituito un numero intero senza decimali.
Nota: Questa funzione supporta uno, due, o quattro parametri (non tre).
1
|
<?php
|
1,235
1 234,57
1 234,567
1.234,57
Per il numero 1234.5678
1,235
1234.57
1 234,568
1.234,57
La funzione sprintf()
La funzione sprintf() restituisce una stringa formattata. Ma senza andare in discorsi complessi sulla formattazione delle stringhe in genere rimaniamo sella semplice formattazione dei numeri, che qui più ci interessa.
format: obbligatorio, specifica il tipo di formattazione da dare alla stringa in esame. I vari formati li vedremo qui sotto
stringa: obbligatorio, è la stringa da dormattare
Questo è l'elenco dei parametri per format
%c: stampa rappresentazioen ASCII
%d:stampa valore decimale con segno solo se negativo
%e: valore decimale nella notazioen scientifica (1.2e+34)
%f: valore decimale, stampa tenendo conto delle impostazioni locali
%F: valore decimale, stampa senza tenere conto delle impostazioni locali
%o: stampa rappresentazione ottale
%s: valore della stringa
%u: stampa valore decimale senza segno
%x: stampa valore esadecimale in lettere minuscole
%X: stampa valore esadecimale in lettere maiuscole
%+d: stampa valore decimale con segno
Qui sotto un breve frammento di codice che illustra in due maniere differento come usare la funzione sprintf().
1
|
<?php
|
Qui invece si vede il codice sopra descritto in azione:
Il numero | sprintf("%d", $num) | sprintf("%.2f", $num) |
---|---|---|
63.53342402 | 63 | 63.53 |
63.48956246 | 63 | 63.49 |
38.7747401 | 38 | 38.77 |
38.46072359 | 38 | 38.46 |
69.7090379 | 69 | 69.71 |
69.4140327 | 69 | 69.41 |
72.79048002 | 72 | 72.79 |
72.36195316 | 72 | 72.36 |
73.56401868 | 73 | 73.56 |
73.05623686 | 73 | 73.06 |
-23.76711166 | -23 | -23.77 |
-23.29245825 | -23 | -23.29 |
64 | 64 | 64.00 |
48.29816544 | 48 | 48.30 |
test57.64782119 | 0 | 0.00 |
36.27934206test | 36 | 36.28 |
Altre possibili formattazioni:
Il numero | Sintassi | Risultato | Descrizione |
---|---|---|---|
123456789 | sprintf("%b",123456789) | 111010110111100110100010101 | Numero binario |
65 | sprintf("%c",65) | A | carattere ascii |
123456789 | sprintf("%d",123456789) | 123456789 | numero decimale senza segno se positivo |
-123456789 | sprintf("%d",-123456789) | -123456789 | numero decimale senza segno se positivo |
123456789 | sprintf("%e",123456789) | 1.234568e+8 | Notazione scientifica minuscolo |
123456789 | sprintf("%E",123456789) | 1.234568E+8 | Notazione scientifica maiuscolo |
123456789 | sprintf("%u",123456789) | 123456789 | Numero con segno |
-123456789 | sprintf("%u",-123456789) | 18446744073586094827 | Numero con segno |
123456789 | sprintf("%f",123456789) | 123456789.000000 | Numero in virgola mobile (impostazioni locali) |
123456789 | sprintf("%.2f",123456789) | 123456789.00 | Numero in virgola mobile (numero a 2 decimali) |
123456789 | sprintf("%.3f",123456789) | 123456789.000 | Numero in virgola mobile (numero a 3 decimali) |
123456789 | sprintf("%F",123456789) | 123456789.000000 | Numero in virgola mobile (non impostazioni locali |
123456789 | sprintf("%g",123456789) | 1.23457e+8 | Più corto di %e e %f |
123456789 | sprintf("%G",123456789) | 1.23457E+8 | Più corto di %E e %f |
123456789 | sprintf("%o",123456789) | 726746425 | Numero ottale |
123456789 | sprintf("%s",123456789) | 123456789 | Stringa |
123456789 | sprintf("%x",123456789) | 75bcd15 | Numero esadecimale (minuscolo) |
123456789 | sprintf("%X",123456789) | 75BCD15 | Numero esadecimale (maiuscolo) |
123456789 | sprintf("%+d",123456789) | +123456789 | Viene specificato il segno |
-123456789 | sprintf("%+d",-123456789) | -123456789 | Viene specificato il segno |