Friday, June 29, 2007
Java 자바] 정수 더하기 소수; 정수에 실수(소수점 있는 수) 덧셈 방법; int float Add
실수(double 또는 float형)에 정수(int 또는 long형)를 더하면, 결과는 실수가 됩니다.
그런데 정수에 실수를 더하여 정수형 결과를 얻으려고 하면 possible loss of precision (정밀도를 상실할 수 있음) 이라는 에러가 납니다. 그래서 실수를 정수화시킨 후에 더하기 해야 합니다. 실수 앞에 "(int)" 이런 것을 따옴표 제외하여 붙여 주면 정수형인 int 로 변합니다. 소수점 이하를 무조건 버립니다.
소스 파일명: example.java
반올림 함수(메서드)인 Math.round 에 double형 실수를 넣으면 결과를 long형 정수로 반환하는데, int형의 결과를 얻으려면 역시 (int) 로 캐스팅해 주어야 합니다.
참고: ▶▶ 자바/Java] 정수로 반올림, 실수로 반올림 (소수점 몇째 자리까지) - Round To Long, Double
그런데 정수에 실수를 더하여 정수형 결과를 얻으려고 하면 possible loss of precision (정밀도를 상실할 수 있음) 이라는 에러가 납니다. 그래서 실수를 정수화시킨 후에 더하기 해야 합니다. 실수 앞에 "(int)" 이런 것을 따옴표 제외하여 붙여 주면 정수형인 int 로 변합니다. 소수점 이하를 무조건 버립니다.
정수에 실수 더하기 예제
소스 파일명: example.java
public class Example {
public static void main(String[] args) {
int i = 10; // 정수형 변수 i에 정수 대입
double d = 1.5; // 실수형 변수 d에 실수 대입
// 소수점 이하 버리며 덧셈
int result = i + (int) d; // 정수에 실수를 더해, 정수형 변수 result에 대입
System.out.println(result);
// 출력 결과: 11
// 소수점 반올림하여 덧셈
result = i + (int) Math.round(d);
System.out.println(result);
// 출력 결과: 12
}
}
public static void main(String[] args) {
int i = 10; // 정수형 변수 i에 정수 대입
double d = 1.5; // 실수형 변수 d에 실수 대입
// 소수점 이하 버리며 덧셈
int result = i + (int) d; // 정수에 실수를 더해, 정수형 변수 result에 대입
System.out.println(result);
// 출력 결과: 11
// 소수점 반올림하여 덧셈
result = i + (int) Math.round(d);
System.out.println(result);
// 출력 결과: 12
}
}
반올림 함수(메서드)인 Math.round 에 double형 실수를 넣으면 결과를 long형 정수로 반환하는데, int형의 결과를 얻으려면 역시 (int) 로 캐스팅해 주어야 합니다.
참고: ▶▶ 자바/Java] 정수로 반올림, 실수로 반올림 (소수점 몇째 자리까지) - Round To Long, Double
tag: java
자바 | Java
<< Home