2013-06-10 36 views
31

Desidero visualizzare il numero 1000.5 come 1000.50 con 2 posizioni decimali e senza virgole/migliaia di separatori.Formato numero PHP senza virgola

Sto usando number_format per raggiungere questo obiettivo:

number_format(1000.5, 2); 

questo si traduce 1,000.50. Il separatore di virgola (,) aggiunto in migliaia di posizioni che non è richiesto nel risultato.

Come visualizzare il numero con zero finale e nessuna virgola?

+4

http://php.net/manual/en/function.number-format .php – PeeHaa

+3

Questa domanda ha senso e dovrebbe essere aperta. – nik

risposta

75

Vedere la documentazione per number_format: http://php.net/number_format

I parametri funzioni sono:

string number_format (float $number , int $decimals = 0 , string $dec_point = '.' , string $thousands_sep = ',')

Quindi l'uso:

number_format(1000.5, 2, '.', ''); 

Ciò significa che non si utilizza alcun separatore di migliaia (= stringa vuota), solo un punto decimale.

+0

Grazie per questo! Non includere la virgola è particolarmente importante se in seguito si converte il numero formattato usando 'intval()', 'floatval()' o 'doubleval()'. Qualsiasi numero con una virgola in esso diventerà '1'! –

+0

questa risposta mi ha aiutato oggi ad affrontare un problema simile nel mio script php, apprezzo il vostro aiuto, signore. – samouray

+0

Questo mi ha aiutato in una situazione in cui avevo bisogno di convertire un prezzo di prodotto da utilizzare con Schema. –

11

number_format() prende parametri aggiuntivi:

number_format(1000.5, 2, '.', ''); 

Il predefinito è un periodo (.) per il separatore decimale e la virgola (,) per il separatore delle migliaia. Ti incoraggio a read the documentation.

+1

grazie per aver creato Laravel Shift :) –

+0

Prego. Ma cosa c'entra [Laravel Shift] (https://laravelshift.com) con questa domanda? :) –

+1

Niente di veramente. Ho fatto clic sul tuo profilo, ho visto che l'hai creato e ti ho ringraziato per questo. :) –

6

documentation of number_format contiene informazioni sul parametro string $thousands_sep = ','. Quindi questo dovrebbe funzionare:

number_format(1000.5, 2, '.', ''); 
-1

Hi È anche possibile utilizzare il codice riportato di seguito per rimuovere la virgola dal numero

<?php 
$my_number = number_format(1000.5, 2); 
echo str_replace(',', '', $my_number); 
?> 
Problemi correlati