LOCALE

포스트: 2
Tags

Posts

2 posts

[C++] 표준 라이브러리를 사용하여 숫자 세 자리마다 쉼표 붙이기

※ 이 기능을 숫자 형식(numeric format)이라고 하겠다.  출처는 MSDN |매우 많은 목적으로, 숫자를 표기할 때 세 자리마다 쉼표를 붙인다. MSDN에서는 숫자 형식이라고 하던데, 표준 명칭인지는 모르겠다. 일단 이 문서는 해당 단어를 사용한다. 우선 숫자 형식에 대해 알아보자.한국에서는 당연하게 정수부에 1000 단위로 쉼표를 붙이고 소수점을 표시하기 위해 정수부가 끝나고 마침표를 찍는다. 하지만 독일에서는 반대다! 1000 단위로 마침표를 찍고, 소수점을 표시하기 위해 쉼표를 찍는다. 대체로 프로그래밍을 배우는 초기 단계에서 해당 기능을 구현해봤겠지만 이런 보편적인 기능은 왠지 표준에 있을 것 같다. 그런 생각을 하고 찾아보니 정말 있더라. 국가나 문화에 따라 달라지는 것이 있다.

[bash:uniq, sort] 한글 문자열에 대한 중복 제거 문제

반달가면|2016년 12월 29일

같은 문자열의 행이 연속될 경우 중복을 제거하거나 중복되는 회수를 확인하기 위해 uniq 명령을 종종 사용하게 된다(uniq의 기본적인 활용에 대한 내용은 이전 게시물을 참고하자. 여기로). 매우 요긴한 기능을 제공하지만, 한글에서는 문제가 발생할 수 있다는 사실을 최근에 발견. 아래의 예시를 보자. 글자수가 같으면 동일한 문자열로 간주하는 것처럼 보인다. # my_data.txt 파일 내용 확인 cat my_data.txt 나비 강아지 메뚜기 메뚜기 # 중복 제거 uniq my_data.txt 나비 강아지 위의 예시에서 "강아지"와 "메뚜기"는 다른 단어임에도 불구하고 uniq에서는 "메뚜기"가 제거되었다. 인터넷을 좀 찾아보니, 지역정보(locale)와 관계가 있는 것