레이블이 Java인 게시물을 표시합니다. 모든 게시물 표시
레이블이 Java인 게시물을 표시합니다. 모든 게시물 표시

2010. 2. 22.

java BigDecimal 사칙연산

Float이나 Double로 사칙연산을 하는 경우 정확한 값을 얻지 못할 때가 있고,
이는 소수점 이하의 값을 제대로 읽지 못하기 때문이다.

예를 들어 0.2 * 0.4 의 결과가 0.0800000005 이렇게 나오는 경우이다.

이럴때는 BigDecimal을 이용하자.
java.math.BigDecimal 을 import해야한다.

// 예제에서는 String 타입을 인자로 넣었다.
BigDecimal preNum = new BigDecimal("6");
BigDecimal postNum = new BigDecimal("2");

// 곱하기
mutipleResult = preNum.multiply(postNum);
// 나누기, 반올림해서 소수점 둘째자리까지 보여준다.
divideResult = preNum.divide(postNum, 2, BigDecimal.ROUND_UP);
// 더하기
addResult = preNum.add(postNum);
// 빼기
subtractResult = preNum.subtract(postNum);

2010. 2. 10.

String vs StringBuffer

Java에서 String은 Object로서 넣은 값을 변경할 일이 별로 없는 경우 쓰인다.

즉, 상수로 쓰기 쉽다는 말이고 final을 붙여서 선언을 해도 괜찮다고 생각한다.

 

String c = "STRING"; 를 C에서는 이렇게 표현한다.

char *c = "STRING";

StringBuffer는 값을 변경할 수 있는 문자열을 다룰 때 쓰이는 편이 좋다.


StringBuffer c; 를 C에서는 이렇게 표현할 수 있다.
char c[128];
c[3] = 'I';