반응형
자바에서 소수점 계산 시
콘솔창 아래줄과 같이
값이 이상하게 나오는 경우가 있는데
IEEE 754 부동 소수점 방식으로 계산해서 저렇게 나오는 것이다
자세한 내용은 아래 글을 참조해주면 되고
실제 소수 계산시에는 정밀도를 보정해주는 BigDecimal을 사용해야 한다
BigDecimal은
BigDecimal 변수명 = new BigDecimal("값");
이런 식으로 선언 및 초기화를 하는데
값은 반드시 숫자가 아닌 문자 타입으로 넣어줘야 한다
숫자로 넣으면 값이 이상하게 나온다
BigDecimal을 이용한 사칙연산은 다음과 같다
더하기
BigDecimal명.add(BigDecimal타입 변수);
빼기
BigDecimal명.subtract(BigDecimal타입 변수);
곱하기
BigDecimal명.multiply(BigDecimal타입 변수);
나누기
BigDecimal명.divide(BigDecimal타입 변수);
예제에 사용한 코드는 아래와 같다
package algorith;
import java.math.BigDecimal;
public class PlusExample {
public static void main(String[] args) {
Double a = 0.1;
Double b = 0.2;
// BigDecimal에 숫자 넣을때에는 문자로 넣을 것
BigDecimal c = new BigDecimal(String.valueOf(a));
BigDecimal d = new BigDecimal(String.valueOf(b));
System.out.println("더하기 : " + c.add(d));
System.out.println("빼기 : " + c.subtract(d));
System.out.println("곱하기 : " + c.multiply(d));
System.out.println("나누기 : " + c.divide(d, 3));
}
}
반응형
'Error & Fix' 카테고리의 다른 글
MSSQL LOCK 확인 및 제거방법 (0) | 2020.03.19 |
---|---|
Mybatis CDATA 사용법 및 예제 (0) | 2020.03.10 |
스택 오버플로우 로그아웃 방법 (0) | 2020.02.05 |
내 컴퓨터 IP 바로 확인하는 방법 (0) | 2020.02.02 |
파이썬 Method '메소드명' may be 'static' 에러 해결하기 (0) | 2020.01.27 |
댓글