2012-09-15 36 views

risposta

4

Si desidera utilizzare printf o sprintf. Puoi leggere ulteriori informazioni a riguardo nello php docs.

52

Prova number_format:

echo number_format("5.2",2) 
+0

[. Questo potrebbe anche essere utile] (http : //php.net/manual/en/function.money-format.php) – FluffyJack

+2

Ricorda che number_format restituisce una stringa, quindi il tuo float non sarà più di tipo float. se si tenta di utilizzare il numero risultante nei calcoli, si potrebbero ottenere risultati indesiderati. Puoi riportarlo in un float spostandolo in floatval() – Baxny

+0

Nota: '+ number_format (" 5.2 ", 2);' ti darà un numero invece di 'number_format (" 5.2 ", 2)' che dà una stringa. Comunque, 'sprintf ('% 0.2f', $ num)' è sempre stata la mia preferenza in situazioni generali. Non ho mai avuto un valido motivo per fare un test di benchmark, fammi sapere nel caso in cui tu abbia una valida ragione per usare diversamente salvo preferenza personale (o contesto). Saluti! – Fr0zenFyr

2

Se si sta semplicemente cercando di assicurare un numero viene visualizzato con due cifre decimali, è possibile utilizzare anche number_format, o (se questo è un valore di valuta) money_format.

esempio: echo number_format('5.2', 2);

-3

Prova questo:

number_format((float)$foo, 2, '.', ''); 
+0

Ti preghiamo di modificare la tua risposta per includere un spiegazione di come il tuo codice risolve il problema in questione. – Matt

Problemi correlati