Sunday, February 04, 2007
Perl/펄] 소수점 이하 버리기; 소수부 제거하고 정수화 하는 함수; int Function
펄에서는 int 라는 함수로, 실수를 정수로 만들 수 있습니다. 소수점 이하를 무조건 버립니다. 반올림을 하지는 않습니다.
그렇지만 다음 예제와 같이 끝에 999999... 가 너무 많이 있으면 자동으로 반올림이 되어서 정수화됩니다. 9가 아무리 많아도 반올림되지 않는 함수는 없더군요. 펄뿐 아니라 다른 언어에서도 마찬가지였습니다.
파일명: example.pl
정수 랜덤 함수를 구현할 때 int 함수가 많이 쓰입니다: ▶▶ Perl/펄] 특정 범위의 숫자(정수) 랜덤 출력: Random Range Min Max (rand)
소수점 이하를 자르는 것이 아니라, 반올림하는 함수입니다: ▶▶ [Perl/펄] 실수 반올림하여 정수 만들기; RoundToInt 함수
그렇지만 다음 예제와 같이 끝에 999999... 가 너무 많이 있으면 자동으로 반올림이 되어서 정수화됩니다. 9가 아무리 많아도 반올림되지 않는 함수는 없더군요. 펄뿐 아니라 다른 언어에서도 마찬가지였습니다.
실수를 정수로 만들기 예제
파일명: example.pl
#!/usr/bin/perl
use strict; use warnings;
print int(3.999999999999999), "\n";
# 출력 결과: 3
# 9가 하나 더 늘면
print int(3.9999999999999999), "\n";
# 출력 결과: 4
use strict; use warnings;
print int(3.999999999999999), "\n";
# 출력 결과: 3
# 9가 하나 더 늘면
print int(3.9999999999999999), "\n";
# 출력 결과: 4
정수 랜덤 함수를 구현할 때 int 함수가 많이 쓰입니다: ▶▶ Perl/펄] 특정 범위의 숫자(정수) 랜덤 출력: Random Range Min Max (rand)
소수점 이하를 자르는 것이 아니라, 반올림하는 함수입니다: ▶▶ [Perl/펄] 실수 반올림하여 정수 만들기; RoundToInt 함수
tag: perl
Perl | 펄
<< Home