충분히 쌓여가는
3.4 정확한 계산은 정수 연산으로 본문
package ch03.sec04;
public class AccuracyExample1 {
public static void main(String[] args) {
int apple = 1;
double pieceUnit = 0.1;
int number = 7;
double result = apple - number*pieceUnit;
System.out.println(result);
}
}
0.29999999999999993
result의 값이 정확히 0.3이 되지 않는다
-> 부동 소수점 방식을 사용하는 실수 타입에서 흔히 일어난다
정확한 계산이 필요하다면 정수 연산으로 변경해서 사용하는 것이 좋다
package ch03.sec04;
public class AccuracyExample2 {
public static void main(String[] args) {
int apple = 1;
int totalPieces = apple * 10;
int number = 7;
int result = totalPieces - number;
System.out.println(result);
System.out.println(result / 10.0);
}
}
3
0.3
'이것이 자바다 > 03 연산자' 카테고리의 다른 글
3.6 비교 연산자 - float 타입의 예외 (0) | 2024.03.29 |
---|---|
3.5 나눗셈 연산후 NaN과 Infinity 처리 (0) | 2024.03.29 |
3.3 오버플로우와 언더플로우 (0) | 2024.03.29 |
3.2 산술 연산자 - 산술 연산의 특징 (0) | 2024.03.29 |
3.1 부호/증감 연산자 (0) | 2024.03.29 |