Heim >Backend-Entwicklung >PHP-Tutorial >PHP-Zahlenformatierung, Kommas an alle drei Ziffern der Zahl hinzufügen, Dezimalstellen können beibehalten werden
Um den Zuschauern beim Zitieren klarere Zahlen zu geben, ist es notwendig, die Zahlenformatierung zu verwenden. Es gibt zwei Methoden: Die eine besteht darin, die Funktion selbst zu schreiben, und die andere ist natürlich die eigene des Systems . Das System ist im Lieferumfang enthalten.
Zuerst kommt das einfache System:
string number_format ( float number [, int decimals [, string dec_point, string Tausende_sep]] ):
View code 1 echo number_format( '169856420');
Das Ausgabeergebnis wird sein: 169.856.420
View code 1 echo number_format('1000000',2);
Das Ausgabeergebnis wird sein: 1.000.000,0
Code 1 anzeigen echo number_format('1000000',2,',','.');
Das Ausgabeergebnis lautet: 1.000.000,00
Sehen Sie sich die geschriebene Funktion noch einmal an:
function num_format($num){ if(!is_numeric($num)){ return false; } $num = explode('.',$num);//把整数和小数分开 $rl = $num[1];//小数部分的值 $j = strlen($num[0]) % 3;//整数有多少位 $sl = substr($num[0], 0, $j);//前面不满三位的数取出来 $sr = substr($num[0], $j);//后面的满三位的数取出来 $i = 0; while($i <= strlen($sr)){ $rvalue = $rvalue.','.substr($sr, $i, 3);//三位三位取出再合并,按逗号隔开 $i = $i + 3; } $rvalue = $sl.$rvalue; $rvalue = substr($rvalue,0,strlen($rvalue)-1);//去掉最后一个逗号 $rvalue = explode(',',$rvalue);//分解成数组 if($rvalue[0]==0){ array_shift($rvalue);//如果第一个元素为0,删除第一个元素 } $rv = $rvalue[0];//前面不满三位的数 for($i = 1; $i < count($rvalue); $i++){ $rv = $rv.','.$rvalue[$i]; } if(!empty($rl)){ $rvalue = $rv.'.'.$rl;//小数不为空,整数和小数合并 }else{ $rvalue = $rv;//小数为空,只有整数 } return $rvalue; }