1. 반올림 Math.round()
Math.round(double 타입의 실수) ==> long 타입의 정수
Math.round(float 타입의 실수) ==> int 타입의 정수
Math.round(실수) ==> 입력한 실수의 정수 일의자리까지만 보여주고 나머지 소수부는 반올림하면서 삭제된다.
e.g.
Math.round(93.45678) ==> 93
Math.round(86.87654) ==> 87
Math.round(실수)를 이용하여 특정 소수부 자리에서 반올림을 하고자 한다면
소수부 첫째 자리까지 나타내면서 반올림 => Math.round(실수*10)/10.0
소수부 둘째 자리까지 나타내면서 반올림 => Math.round(실수*100)/100.0
의 방식으로 표현할 수 있다.
public class Main_Math {
public static void main(String[] args) {
double db1 = 93.45678, db2 = 86.87654;
System.out.println("db1=> " + Math.round(db1*10)/10.0 + " , db2=> " + Math.round(db2*10)/10.0);
// db1=> 93.5 , db2=> 86.9
System.out.println("db1=> " + Math.round(db1*100)/100.0 + " , db2=> " + Math.round(db2*100)/100.0);
// db1=> 93.46 , db2=> 86.88
2. 올림 Math.ceil()
54.0 ==> Math.ceil(54.0) ==> 54.0
54.1 ==> Math.ceil(54.1) ==> 55.0
54.9 ==> Math.ceil(54.9) ==> 55.0
double db3=54.0, db4=54.1, db5=54.9;
System.out.println("db3=> " + Math.ceil(db3)+", db4=> " + Math.ceil(db4) + ", db5=> " + Math.ceil(db5));
// db3=> 54.0, db4=> 55.0, db5=> 55.0
Math.ceil() 의 경우 웹페이지의 하단 페이지바 와 같은 곳에서 주로 사용된다.
e.g.
웹페이지 게시판은 한 페이지당 10개의 게시물을 보여준다.
보여줄 게시물이 32개가 있는 경우 총 페이지 수는 ?
10개 10개 10개 2개
1 2 3 4
총 페이지 수는 4페이지가 되어야 한다.
이 때 Math.ceil() 를 이용하면 총 페이지 수를 구할 수 있다.
int totalCount = 30;
int sizePerPage = 10;
double totalPage = (double)totalCount/sizePerPage; // 실제로 totalPage 는 double을 잘 사용하지 않음
System.out.println("totalPage => " + Math.ceil(totalPage));
// totalPage => Math.ceil(3.0) ==> 3.0
System.out.println("totalPage => " + (int)Math.ceil(totalPage));
// totalPage => 3
// #################################################### //
// 실제로 주로 사용하는 방법
int totalPge = (int) Math.ceil( (double)totalCount/sizePerPage );
System.out.println("totalPge => " + totalPge);
// totalPge => 3
3. 내림 Math.floor()
54.0 ==> Math.floor(54.0) ==> 54.0
54.1 ==> Math.floor(54.1) ==> 54.0
54.9 ==> Math.floor(54.9) ==> 54.0
db3=54.0; db4=54.1; db5=54.9; // ,는 최초에 초기화 할 때만 사용, 그 뒤로 값을 바꿀 땐 ; 사용해야함
System.out.println("\n === 내림 한 후 ===");
System.out.println("db3=> " + Math.floor(db3)+", db4=> " + Math.floor(db4) + ", db5=> " + Math.floor(db5));
// db3=> 54.0, db4=> 54.0, db5=> 54.0
System.out.println("db3=> " + (int)Math.floor(db3)+", db4=> " + (int)Math.floor(db4) + ", db5=> " + (int)Math.floor(db5));
// db3=> 54, db4=> 54, db5=> 54
4. 절대값 Math.abs()
int a = 20, b = -30;
System.out.println("a => "+ a + " , b => " + b);
// a => 20 , b => -30
System.out.println("a => "+ Math.abs(a) + " , b => " + Math.abs(b));'Java' 카테고리의 다른 글
| switch 문을 이용하여 성적 구하기 (0) | 2022.06.10 |
|---|---|
| Switch 문 & 삼항연산자 (0) | 2022.06.10 |
| 오토박싱, 오토언박싱 (0) | 2022.06.09 |
| 기본자료형(primitive)과 Wrapper 클래스 (0) | 2022.06.09 |
| 스캐너(Scanner)를 통해 학생의 성적정보를 처리하는 기능 구현하기 (0) | 2022.06.07 |