Tuesday, September 12, 2006
[Perl/펄] 소수를 분수로 변환 / 분수를 소수로 바꾸기 - Math-Fraction
펄에서 분수 <-> 소수를 상호 변환하기 위해서는 Math::Fraction 이라는 모듈을 설치해 주어야 합니다.
여기에 모듈 설치법이 있습니다: ▶▶ [Perl] CPAN의, 펄 모듈 수동 다운로드/설치법 - 순수한 펄로 된 .pm 파일
실행 결과:
윈도우 계산기에서 7분의8 즉
8/7=1.1428571428571428571428571428571
입니다. 따라서
frac("1.14285714285");
이렇게 하면 "8/7" 이라는 분수로 환원됩니다.
그렇지만 frac("1.1428571428");
이렇게 소수점 한 자리를 지우니 "2857142857/2500000000" 이렇게 나오는군요. 미묘합니다.
예를 들어, 컴퓨터에서는 3분의1 즉 ⅓ 이것을, 1/3 이라고 표현합니다.
따라서 분수를 소수로 변환하는 것은 쉽고, 펄로 계산할 필요는 없습니다. 분자 나누기 분모를 해주면 되니까, "1 나누기 3"을 하면 됩니다.
윈도우 계산기에
1/3=
을 붙여 넣으면 "0.33333333333333333333333333333333" 이런 답이 나옵니다.
중요 업데이트: 모듈 필요 없이, 소수를 분수로 변환하기를 자체 구현: ▶▶ Perl 펄] 소수를 분수로 변환 함수 구현; Decimal To Fraction Function
▶▶ [펄/Perl] 분수를 소수로 변환한 목록 만들기 - Fraction to Decimal Table
엑셀로 변환: ▶▶ Excel/엑셀] 분수 입력, 소수를 분수로 변환 표현 방법; Fraction Input, Decimal To Fraction
소수 분수 상호 변환기: ▶▶ 소수 분수 변환기; 소수를 분수로, 분수를 소수로 변환; Frac Converter
여기에 모듈 설치법이 있습니다: ▶▶ [Perl] CPAN의, 펄 모듈 수동 다운로드/설치법 - 순수한 펄로 된 .pm 파일
소수를 분수로 변경
#!/usr/bin/perl
use strict; use warnings;
use Math::Fraction;
my $x;
print "소수를 분수로 변환 --------------------\n";
$x = frac("1.14285714285");
print "\t", $x, "\n\n";
print "\n분수를 소수로 변환 --------------------\n";
$x = frac(1, 3);
print "\t", $x->num, "\n\n";
use strict; use warnings;
use Math::Fraction;
my $x;
print "소수를 분수로 변환 --------------------\n";
$x = frac("1.14285714285");
print "\t", $x, "\n\n";
print "\n분수를 소수로 변환 --------------------\n";
$x = frac(1, 3);
print "\t", $x->num, "\n\n";
실행 결과:
D:\Z>foo.pl
소수를 분수로 변환 --------------------
8/7
분수를 소수로 변환 --------------------
0.333333333333333
D:\Z>
소수를 분수로 변환 --------------------
8/7
분수를 소수로 변환 --------------------
0.333333333333333
D:\Z>
윈도우 계산기에서 7분의8 즉
8/7=1.1428571428571428571428571428571
입니다. 따라서
frac("1.14285714285");
이렇게 하면 "8/7" 이라는 분수로 환원됩니다.
그렇지만 frac("1.1428571428");
이렇게 소수점 한 자리를 지우니 "2857142857/2500000000" 이렇게 나오는군요. 미묘합니다.
분수를 소수로 변경
예를 들어, 컴퓨터에서는 3분의1 즉 ⅓ 이것을, 1/3 이라고 표현합니다.
따라서 분수를 소수로 변환하는 것은 쉽고, 펄로 계산할 필요는 없습니다. 분자 나누기 분모를 해주면 되니까, "1 나누기 3"을 하면 됩니다.
윈도우 계산기에
1/3=
을 붙여 넣으면 "0.33333333333333333333333333333333" 이런 답이 나옵니다.
중요 업데이트: 모듈 필요 없이, 소수를 분수로 변환하기를 자체 구현: ▶▶ Perl 펄] 소수를 분수로 변환 함수 구현; Decimal To Fraction Function
▶▶ [펄/Perl] 분수를 소수로 변환한 목록 만들기 - Fraction to Decimal Table
엑셀로 변환: ▶▶ Excel/엑셀] 분수 입력, 소수를 분수로 변환 표현 방법; Fraction Input, Decimal To Fraction
소수 분수 상호 변환기: ▶▶ 소수 분수 변환기; 소수를 분수로, 분수를 소수로 변환; Frac Converter
tag: perl
Perl | 펄
<< Home