Monday, July 24, 2006
Perl/펄] 실수 반올림하여 정수 만들기; RoundToInt 함수
청소년 성장 드라마 '반올림'이 아니고, 소수점을 가진 숫자를 정수로 반올림하는 것입니다.
펄의 int 함수는 소수점 이하를 잘라버리기만 하지, 반올림을 하지 않더군요.
RoundToInt 라는 한 줄짜리 함수가 반올림 함수입니다.
2.4676 을 입력하면 2가 나오고
2.5676 을 입력하면 반올림하여 3을 반환합니다.
버그가 있을 수 있으니, 실무에 사용할 때는 테스트 과정이 필요합니다.
▶▶ [Perl/펄] 소수점 몇 째 자리에서, 엑셀 스타일 반올림 함수 - RoundXL
펄의 int 함수는 소수점 이하를 잘라버리기만 하지, 반올림을 하지 않더군요.
#!/usr/bin/perl
use strict; use warnings;
print &RoundToInt(2.4676);
sub RoundToInt {
int($_[0] + .5 * ($_[0] <=> 0));
}
use strict; use warnings;
print &RoundToInt(2.4676);
sub RoundToInt {
int($_[0] + .5 * ($_[0] <=> 0));
}
RoundToInt 라는 한 줄짜리 함수가 반올림 함수입니다.
2.4676 을 입력하면 2가 나오고
2.5676 을 입력하면 반올림하여 3을 반환합니다.
버그가 있을 수 있으니, 실무에 사용할 때는 테스트 과정이 필요합니다.
▶▶ [Perl/펄] 소수점 몇 째 자리에서, 엑셀 스타일 반올림 함수 - RoundXL
tag: perl
Perl | 펄
#!/usr/local/bin/perl
use POSIX qw(ceil floor);
$num = 1.52734
print ceil($num);
하시거나
Math::Round 모듈을 이용하셔도 됩지요..^,.^
아, POSIX 에 있었군요 ^^;
<< Home