이 변환기로 할 수 있는 일
이 도구는 숫자 값을 영어로 풀어 쓴 형태로 바꿔줍니다. 세 가지 출력 방식 중 하나를 선택할 수 있습니다. Words(단어)는 숫자 자체를 영어로 읽어 쓰고, Currency(통화)는 달러와 센트처럼 큰 단위와 작은 단위로 구성된 금액 문구를 만들며, Check(수표)는 영문 은행 수표에 쓰는 표준 형식으로 금액을 단어로 적고 센트는 100분의 1 분수 형태의 숫자로 표기합니다. 표기는 short scale(단위 체계)를 따르며, billion은 \(10^9\), trillion은 \(10^{12}\)로, 영어권 전반에서 통용되는 방식입니다. 통화 이름은 나라별 특색이 있지만, 그 밑바탕이 되는 영어 철자 규칙은 어디서나 동일합니다.
사용 방법
첫 번째 칸에 숫자를 입력하세요. 소수점, 마이너스 기호, 천 단위 구분 기호를 포함해도 됩니다. 원하는 출력 형식을 고릅니다. Currency 모드에서는 통화를 선택하고, Check 모드에서는 수표에 인쇄될 통화 이름과 함께 선택 사항으로 완결 단어(exactly 또는 only)를 고를 수 있습니다. 마지막으로 대소문자 방식을 선택하세요. lowercase(소문자), UPPERCASE(대문자), Title Case(단어별 첫 글자 대문자), Sentence case(문장식) 중에서 고를 수 있습니다. 선택한 서식이 전체 문자열에 마지막으로 적용되어 결과가 즉시 갱신됩니다.
변환 원리
정수 부분은 오른쪽부터 세 자리씩 묶음으로 나뉩니다. 각 묶음은 백의 자리, 그다음 십의 자리(twenty-one처럼 일의 자리와 하이픈으로 연결), 그리고 단위 단어(thousand, million, billion 등) 순으로 읽습니다.
$$N=\sum_{i=0}^{k} g_i\cdot 1000^{i}\;\Rightarrow\;\text{join}(\text{group}_i + \text{scale}_i)$$
미국식 표기를 따라 순수한 숫자 안에는 "and"를 넣지 않습니다. Words 모드에서는 소수점 뒤의 숫자를 "point"라는 단어 다음에 한 자리씩 따로 읽으며 앞자리의 0도 유지하므로, .05는 "point zero five"가 됩니다.
$$\text{words} = \text{intToWords}(\text{integer}) \; [+\; \text{"point"} + \text{digits}]$$
Currency와 Check 모드에서는 부동소수점 오차를 피하기 위해 값을 센트 단위 정수로 반올림합니다.
$$\text{cents}=\operatorname{round}(x\times 100),\;\text{whole}=\lfloor \text{cents}/100\rfloor,\;\text{minor}=\text{cents}\bmod 100$$
실제 예시
Currency 모드에서 dollars와 Title Case를 선택하고 1234.05를 입력해 보세요. 정수 부분 1234는 "one thousand two hundred thirty-four", 센트 값 5는 "five"로 읽혀 "one thousand two hundred thirty-four dollars and five cents"가 됩니다. 여기에 Title Case를 적용하면 "One Thousand Two Hundred Thirty-Four Dollars And Five Cents"가 됩니다.
자주 묻는 질문
숫자 안에 "and"가 없는 이유는 무엇인가요? 미국식 영어에서는 정수를 읽을 때 "and"를 생략합니다. "and"는 금액의 큰 단위와 작은 단위를 구분할 때만 사용됩니다.
센트가 없는 통화는 어떻게 처리되나요? 엔(yen), 위안(yuan), 원(won), 동(dong)에는 보조 단위가 없으므로 반올림 후 정수 금액만 영어로 표기됩니다.
입력칸을 비워두면 어떻게 되나요? 빈 칸은 0으로 처리되어 "zero"를 반환합니다.