Monday, August 21, 2006
Perl/펄] 소수점 몇 째 자리에서, 엑셀 스타일 반올림 함수 - RoundXL
실수의 소수점 특정 자리에서 반올림을 해야 할 때가 있습니다.
아래에 소개하는 RoundXL 함수는 MS오피스 엑셀(Microsoft Excel)의 =ROUND() 함수와 거의 비슷하게 작동합니다.
RoundXL 함수의
첫 번째 파라미터는 반올림 대상이 될 실수,
두 번째 파라미터는, 소수점 몇 째 자리까지 나타내며, 그 밑을 반올림할 것인지 선택하는 수입니다. 값이 0이면, 실수를 정수화시킵니다. 그러나 엑셀과 달리 마이너스 값을 지정할 수는 없습니다.
실행 결과:
42.445
위의 함수는, 실수를 반올림하여 실수를 얻는 것이 목적인데, 실수를 반올림하여 정수를 얻는 함수는 여기에 있습니다: ▶▶ [Perl/펄] 실수 반올림하여 정수 만들기; RoundToInt 함수
아래에 소개하는 RoundXL 함수는 MS오피스 엑셀(Microsoft Excel)의 =ROUND() 함수와 거의 비슷하게 작동합니다.
RoundXL 함수의
첫 번째 파라미터는 반올림 대상이 될 실수,
두 번째 파라미터는, 소수점 몇 째 자리까지 나타내며, 그 밑을 반올림할 것인지 선택하는 수입니다. 값이 0이면, 실수를 정수화시킵니다. 그러나 엑셀과 달리 마이너스 값을 지정할 수는 없습니다.
#!/usr/bin/perl
use strict; use warnings;
print &RoundXL(42.444999999999, 3);
sub RoundXL {
sprintf("%.$_[1]f", $_[0]);
}
use strict; use warnings;
print &RoundXL(42.444999999999, 3);
sub RoundXL {
sprintf("%.$_[1]f", $_[0]);
}
실행 결과:
42.445
위의 함수는, 실수를 반올림하여 실수를 얻는 것이 목적인데, 실수를 반올림하여 정수를 얻는 함수는 여기에 있습니다: ▶▶ [Perl/펄] 실수 반올림하여 정수 만들기; RoundToInt 함수
tag: perl
Perl | 펄
<< Home