Thursday, November 23, 2006
Perl/펄] 로마 숫자, 아라비아 숫자 상호 변환 프로그램; ROMAN NUMERAL Convert
아라비아 숫자 10 을, 로마 숫자로는 X 라고 합니다. 이런 식으로 상호 변환하는 펄 스크립트입니다. 다만 Math::Roman 이라는 CPAN 모듈을 별도로 다운받아서 설치해 주어야 실행이 됩니다. (물론 윈도우 등의 운영체제에 펄(Perl)도 설치되어 있어야겠지요.
Math 디렉토리 밑에 Roman.pm 파일이 없으면 다음과 같은 에러가 납니다. "모듈을 찾지 못했다"는 뜻입니다.
다음의 방법으로 모듈을 설치해 주면 됩니다:
< Math::Roman >
위의 주소에서 Math-Roman-1.07.tar.gz 이런 파일을 다운받고,
그 파일 안에서, Roman.pm 이라는 파일을 하드에 푼 후,
<펄 라이브러리 디렉토리> 아래에 Math 라는 디렉토리를 만들고, 그 안에 Roman.pm 파일을 넣어 주면 됩니다. (자세한 설치법은 ▶▶ 펄/Perl] 아라비아 숫자를, 일본어 숫자 읽기 발음으로 변환, Lingua-JA-Number 를 참고)
여러 로마 숫자들을 미리 변환해둔 변환표: ▶▶ 로마 숫자 <―> 아라비아 숫자 변환표; ROMAN NUMERAL Table
▶▶ Perl/펄] 숫자를 영어 스펠링으로 변환; 영어식으로 읽기; Number to English
악마의 숫자 666 이, 로마 숫자로는 DCLXVI 이군요
그리고 로마 숫자에는 0(제로)이 없습니다.
로마 숫자 / 아라비아 숫자 변환
#!/usr/bin/perl
use strict; use warnings;
use Math::Roman qw(roman);
##############################################
# 아라비아 숫자를 로마 숫자로 변환
print roman(4), "\n";
# 출력 결과: IV
print roman(342), "\n";
# 출력 결과: CCCXLII
##############################################
# 로마 숫자를 아라비아 숫자로 변환
print roman("IV")->as_number(), "\n";
# 출력 결과: 4
print roman("CCCXLII")->as_number(), "\n";
# 출력 결과: 342
use strict; use warnings;
use Math::Roman qw(roman);
##############################################
# 아라비아 숫자를 로마 숫자로 변환
print roman(4), "\n";
# 출력 결과: IV
print roman(342), "\n";
# 출력 결과: CCCXLII
##############################################
# 로마 숫자를 아라비아 숫자로 변환
print roman("IV")->as_number(), "\n";
# 출력 결과: 4
print roman("CCCXLII")->as_number(), "\n";
# 출력 결과: 342
Math 디렉토리 밑에 Roman.pm 파일이 없으면 다음과 같은 에러가 납니다. "모듈을 찾지 못했다"는 뜻입니다.
D:\Z>r.pl
Can't locate Math/Roman.pm in @INC (@INC contains: D:\myhome\perl_\site\lib D:/P
erl/site/lib D:/Perl/lib .) at D:\Z\r.pl line 4.
BEGIN failed--compilation aborted at D:\Z\r.pl line 4.
Can't locate Math/Roman.pm in @INC (@INC contains: D:\myhome\perl_\site\lib D:/P
erl/site/lib D:/Perl/lib .) at D:\Z\r.pl line 4.
BEGIN failed--compilation aborted at D:\Z\r.pl line 4.
다음의 방법으로 모듈을 설치해 주면 됩니다:
변환 모듈 다운로드
< Math::Roman >
위의 주소에서 Math-Roman-1.07.tar.gz 이런 파일을 다운받고,
그 파일 안에서, Roman.pm 이라는 파일을 하드에 푼 후,
<펄 라이브러리 디렉토리> 아래에 Math 라는 디렉토리를 만들고, 그 안에 Roman.pm 파일을 넣어 주면 됩니다. (자세한 설치법은 ▶▶ 펄/Perl] 아라비아 숫자를, 일본어 숫자 읽기 발음으로 변환, Lingua-JA-Number 를 참고)
여러 로마 숫자들을 미리 변환해둔 변환표: ▶▶ 로마 숫자 <―> 아라비아 숫자 변환표; ROMAN NUMERAL Table
▶▶ Perl/펄] 숫자를 영어 스펠링으로 변환; 영어식으로 읽기; Number to English
악마의 숫자 666 이, 로마 숫자로는 DCLXVI 이군요
그리고 로마 숫자에는 0(제로)이 없습니다.
tag: perl
Perl | 펄
<< Home