Math.random()
자바에서 Math.random() 함수를 사용하면 랜덤한 값을 사용할 수 있다.
Math.random()은 0.0 <= Math.random() < 1.0 의 값을 가지고 있다.
0.0 부터 10.0 미만의 사이 값을 반환 받을려면 10을 곱하면 된다.
0.0 <= Math.random() * 10 < 10.0
여기서 특정 범위 10.0 부터 20.0 미만의 값을 반환받으려면 10을 더하면 된다.
10.0 <= Math.random() * 10 + 10 < 20
0.0 <= Math.random() < 1.0 을 기준으로 반환 받을 값을 생각하면 된다.
Math.round()
자바에서 Math.round() 함수를 사용하면 반올림한 값을 사용할 수 있다.
Math.round() 함수는 소수점 첫째자리에서 반올림을 한다.
123.4567 값에서 소수 둘째 자리에서 반올림을 하고 싶으면
우선 소수 둘째 자리가 소수 첫째 자리로 옮겨 준다
123.4567 * 10
이 값을 Math.round()에 넣어준다
Math.round(123.4567 * 10) = 1235.0 가 되므로 다시 나누어서 값을 맞춘다
Math.round(123.4567* 10) / 10.0
이때 10.0 이라고 안쓰고 10 이라고 쓰면 정수가 되므로 10.0을 사용해야 한다
public class ExRandomRound {
public static void main(String[] args) {
//0.0 <= Math.random() < 1.0
//0.0 <= Math.random() * 10 < 10.0
double v = Math.random() * 10; //0.0 부터 10.0 미만의 랜덤한 수를 받을 수 있다
System.out.println("v = " + v);
//10.0 <= Math.random() * 10 + 10 < 20.0
double v1 = Math.random() * 10 + 10;
System.out.println("v1 = " + v1);
//정수로 변환
int v2 = (int)(Math.random() * 10 + 10);
System.out.println("v2 = " + v2);
//Math.round() 소수점 첫째자리에서 반올림한다
double a = 123.4567;
long round = Math.round(a);
System.out.println("round = " + round);
//소수점 둘째자리에서 반올림을 하려면 그 숫자를 소수점 첫째자리로 옮기면 된다
double l = Math.round(a * 10) / 10.0; //첫째자리로 옮기로 다시 나눠서 내려준다 나눌 때 .0을 사용하지 않으면 정수가 되므로 .0을 붙여준다
System.out.println("l = " + l);
}
}
'프로그래밍 > JAVA' 카테고리의 다른 글
ArrayList와 LinkedList (0) | 2021.08.06 |
---|---|
자바 replaceAll 정규식 특수문자 제거 (0) | 2021.08.01 |
Date와 Time (0) | 2021.07.25 |
의존성과 의존성 주입(DI) (0) | 2021.07.20 |
1차 배열 2차 배열 sort(오름차순, 내림차순) (0) | 2021.07.18 |