数字にカンマを挿入する

数字を指定すると、3桁ごとにカンマを挿入した文字列を返します。たとえば、1234567 を指定すると、1,234,567 を返します。

サブルーチン名

CommaFormat()

引数

  1. 数字(小数点つきでもOK)

戻値

  1. カンマつきの数字

使い方

たとえば、

my $num = &CommaFormat($num);

すると、$num1,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;
}