数字を三桁ずつカンマで区切る – Perl

  • このエントリーをはてなブックマークに追加
  • LINEで送る
この記事は 2006年10月5日 に書かれたものです

価格の表示など、3桁毎に数字を区切りたいことがある。このような場合、どういった処理を書けば良いのだろうか? 次のような commify 関数を自分のライブラリに準備しておくとかなり重宝する。

- Sponsored Link -

サンプル

;#
;#カンマ区切り
;#

print commify(1234567890);

#----------------------------------------------#
#■数字を三桁ずつカンマで区切る
#----------------------------------------------#
sub commify{
  my $num = shift;
  my $i   = '';
  my $j   = '';

  if ($num =~ /^[-+]?\d\d\d\d+/g) {
    for ($i = pos($num) - 3, $j = $num =~ /^[-+]/; $i > $j; $i -= 3) {
      substr($num, $i, 0) = ',';
    }
  }

  return($num);
}

実行結果

1,234,567,890

参考ページ

このブログを応援する

お寄せいただいたお気持ちは全額サーバ代や次の記事を執筆するための原資として活用させていただいております。この記事が参考になった場合などぜひご検討ください。

PayPal(ペイパル)
PayPalで300円支払う
※金額は任意で変更できます。
※100円でも泣いて喜びますw
※住所の入力欄が現れた場合は「no needed」を選択ください
これまでのご協力者さま
- Sponsored Link -