数字を指定すると、3 桁ごとにカンマを挿入した文字列を返します。たとえば、1234567 を指定すると、1,234,567 を返します。
■ サブルーチン名
CommaFormat
■ 引数
- 数字(小数点つきでも OK )
■ 戻値
- カンマつきの数字
■ 使い方
たとえば、
$num = 12345678;
$num = &CommaFormat($num);すると、$num が 1,234,567 に置き換わります。
■ サブルーチン
sub CommaFormat {
my($num) = @_;
if($num =~ /[^0-9\.]/) {return $num;}
my($int, $decimal) = split(/\./, $num);
my $figure = length $int;
my $commaformat;
for(my $i=1;$i<=$figure;$i++) {
my $n = substr($int, $figure-$i, 1);
if(($i-1) % 3 == 0 && $i != 1) {
$commaformat = "$n,$commaformat";
} else {
$commaformat = "$n$commaformat";
}
}
if($decimal) {
$commaformat .= "\.$decimal";
}
return $commaformat;
}
|