SSブログ

広告

PHPで数字(数値)を3桁ごとにカンマ(,)で区切る方法 [コンピュータ]

Perl Tips: Perl で、数字(数値)を3桁ごとにカンマ(,)で区切る方法
#!/usr/bin/perl

my $num = 123456789;
print comman($num);

sub comma {
 local($_) = @_;
 1 while s/(.*\d)(\d\d\d)/$1,$2/;
 $_;
}


PHPではnumber_format関数を使えば出来るのですが、正規表現の練習ということで。
http://jp.php.net/manual/ja/function.number-format.php

小数点を含む場合にも対応させてみました。
ループのところ、もっとスマートに出来ないだろうか・・・

<?php
// 数値のカンマ区切り
function comma($v) {
	$ret = "";
	while(true) {
		$ret = preg_replace("/^([^\.]\d+)(\d\d\d)/", "$1,$2", $v);
		if ( $v == $ret ) break;
		$v = $ret;
	}
	return $ret;
}

$num = "12345678901234567890.1234567890";
echo( $num );
echo( "\n" );
echo( comma($num) );
echo( "\n" );

?>

実行結果

12345678901234567890.1234567890
12,345,678,901,234,567,890.1234567890

nice!(1)  コメント(0)  トラックバック(0) 
共通テーマ:パソコン・インターネット

nice! 1

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

標高APIALPSLABからツールが公開 ブログトップ

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。