실제 소스코드를 확인하진 않았지만.. 좋은 방법이 떠오른다.

 

 

문제점)일단 부동소수점 방식의 데이터 타입으론 지수부(e)+가수부

 

정확한 연산이 안된다. (결제등 프로그램이라면 중요)

 

BigInteger란 클래스가 쓰인다 하셨는데..

 

 

Sol아이디어)예전에 작업했던 반올림용 round()메서드 구현하기 처럼

 

실제 데이터 보관은 String형 (ex) String str = "241.12342"

 

실제 연산은 str을 파싱해 long등 큰 타입의 정수형 만들어 다루고,

24112342 - 1000001 = 14112341

 

반환시  return double retVal/10*n(해당 소수점 6개 만큼)

 

으로 처리하는게 아닐까 싶다.(tc++pl에서 얼핏 본듯;;)

by givingsheart 2014. 1. 1. 15:21
| 1 |