2013-05-17 14 views
7

Come posso formattare float per sprintf come farei per number_format()? Ho bisognoNumero di formato sprintf PHP simile a number_format

  • senza decimali
  • un punto come separatore delle migliaia

Con number_format() lo farei

$number = number_format(1599, 0, ".", ","); 

il risultato dovrebbe essere:

1599 => 1.500 
899.99 => 899 
70 => 70 

È possibile utilizzare sprintf()?

Cordiali saluti, Robert

+0

Cercavi tutto ',' da '.'? –

+1

Non penso che 'sprintf' supporti il ​​separatore di migliaia. C'è qualche ragione per cui 'number_format' non può essere usato? –

+0

Penso che '1599 => 1.500' dovrebbe leggere' 1599 => 1.599' se ho capito bene la domanda. – core1024

risposta

9
sprintf('A number: %s', number_format(1599, 0, '.', ',')) 

No, non c'è altro modo. (s)printf non ha opzioni per l'aggiunta di migliaia di separatori.

1

è possibile utilizzare:

sprintf("%.2f", $val); 
+1

Questo non aggiunge un separatore di migliaia (né lo cambia in "."). Se diviso per 1000, potrebbe funzionare per numeri fino a un milione, ma non di più: 'sprintf ('%. 3f', $ val/1000)' – Owen