perl 숫자 쉼표찍기 천 단위 쉼표찍기 세자리 쉼표찍기

숫자가 커지면 커질수록 보기 불편해집니다. 그래서 세자리마다 쉼표를 찍으면 금방 자리수를 파악할 수 있죠. perl의 기본함수 중에서 그런 기능을 하는 함수를 찾지는 못했습니다만, 아래의 코드를 기초로해서 함수화하는 방법으로 대응할 수 있을 것 같습니다.

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

위 코드대로하면 $num에 세자리수마다 쉼표가 찍혀있는 문자열로 저장이됩니다.

먼저 $num에 숫자가 연속으로 4개가 연속되면 반복문을 통해서 끝에서 3자리수 마다 이동하여 쉼표를 찍에 하는 것입니다.

만약 쉼표를 없애고 싶다면 아래와 같이 하면 됩니다.

$num =~ s/,//g

 

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Scroll to Top