2012-11-14 3 views
-1

이것은 복리 계산 계산기입니다. 단, 소수점 이하 두 자리 만 있으면서 내 대답을 얻는 방법을 알 수 없다는 점을 제외하고는 모든 것이 잘 작동합니다. 코드를 살펴보고 올바른 것이 무엇이 있는지 제안하십시오. 고맙습니다.Java 프로그래밍, 소수점 숫자

class InvestmentProject{ 
public double CompoundInterest(double InitialDeposit, double YearlyContribution, double InterestRate, int PeriodsInYr) { 

double RateInDecimal = InterestRate/100; 
double Value = YearlyContribution/RateInDecimal - YearlyContribution/(RateInDecimal * Math.pow(1 + RateInDecimal, PeriodsInYr)); 
return (InitialDeposit + Value) * Math.pow(1 + RateInDecimal, PeriodsInYr); 
} 
} 

답변

1

Java에서 재무 계산, 특히 비교를 수행 할 때는 절대 부동 소수점 또는 복식을 사용하지 않아야합니다. 대신 BigDecimal을 사용하십시오. Here is an article that explains why.

0

당신은에 DecimalFormat 클래스

import java.text.DecimalFormat; 

public class Java0605 
{ 
    public static void main (String args[]) 
    { 
     DecimalFormat output = new DecimalFormat("00000"); 
     System.out.println(output.format(1)); 
     System.out.println(output.format(12)); 
     System.out.println(output.format(123)); 
     System.out.println(output.format(1234)); 
     System.out.println(output.format(12345)); 
     System.out.println(output.format(123456)); 
     System.out.println(output.format(1234567)); 
     System.out.println(); 
    } 
} 
를 사용한다