2012-09-30 3 views
2

나는 간단한 관심과 복리 계산을 수행하는 학술 프로젝트 용 프로그램을 작성했습니다. 내가 겪고있는 문제는 그 숫자가 "센트"와 같은 0이 아닌 다른 값을 가지지 않으면 계산 된 간단한이자가 잘리지 않는다는 것입니다 (즉, 소수점을 표시하지 않습니다 - 금액이 예를 들어 1750.00 인 경우). 위로 1750). 비록 DecimalFormat을 사용하여 복소수와 간단한 관심사를 모두 사용할 수 있습니다.관심 분야 간단한 계산 (DecimalFormat 포함) 계산에서 잘림 오류

나는 프로젝트를 광범위하게 디버깅했으며, 나는 대체 무엇이 진행되고 있는지를 놓치고있다. 이야기의

http://pastebin.com/sgg0P5ZQ

[편집] 도덕적 :

double p=1.0; // just some sample values for p, r, and y. double r=2.0; double y=3.0; double calculatedInterest = p + (p*(r/100)*y); String output = new String("Computed Simple Interest is: $"); output = output + new DecimalFormat("#.##").format(calculatedInterest); return output; 

내가 여기에 전체 프로그램이 :

프로그램에서 관련 발췌 한 다음 당신 만약 돈 문제가있는 클래스의 JavaDoc을 읽지 않거나 이해하지 못하면 나쁜 시간을 보게 될 것입니다. 심볼릭 패턴 #. ##은 DecimalFormat의 범용 catch-all 일뿐만 아니라 다른 심볼 패턴은 다른 작업을 수행합니다. 필자의 경우 필요한 것은 원하는 10 진수를보기 위해 #. ##을 0.00으로 변경하는 것이었다. jpe에게 많은 감사를드립니다.

답변

2

JavaDoc of DecimalFormat을보세요. "#. ##"과 같은 패턴을 사용합니다.

Symbol Location Localized? Meaning 
# Number Yes  Digit, zero shows as absent 

당신은 0.00와 패턴을 교체해야합니다 : #에 대한 문서는 말한다.

+0

좋아요. 특수 패턴 기호가있는 테이블에서 "0-Digit"이라고 말하면, #. ## 대신 # 0.00을 사용합니까? 나는 진짜 빠른 것을 시도 할 것이다 –

+0

당신은 나의 영웅 –

+0

나는 0.00가 좋아야한다고 생각한다. 패턴 #, ## 0.00은 또한 수천 개의 분리자를 허용합니다. – jpe