2014-01-14 2 views
1

잠시 파고 들었지만이 주제와 관련된 질문을 찾을 수 없습니다. 저는 신용 카드 사용자의 최소 지불액과 잔액을 나열하는 표를 출력하는 프로그램을 작성하고 있습니다. 문제는 출력 사이에 공백을 넣고 출력을 소수 자릿수 2 자리로 지정해야하는 코드의 마지막 부분에서 발생합니다.서식을 지정할 때 소수 자릿수 서식 지정 System.out.print Java

미리 감사드립니다.

내 코드 :

public static void main(String[] args) { 

     double minPay = 0; 

     Scanner key = new Scanner(System.in); 
     System.out.printf("Please Enter your credit card balance: "); 
     double balance = key.nextDouble(); 
     System.out.printf("Please Enter your monthly interest rate: "); 
     double rate = key.nextDouble(); 

     System.out.printf("%-6s%-10s%-10s\n", "", "Min.Pmt", "New Balance"); 
     System.out.printf("------------------------------\n"); 
     for (int i=0; i<12; i++){ 
     minPay = balance*0.03; 

     if (minPay<10){ 
      minPay=10.00; 
     } 

     double add = (balance*(rate/100)); 
     balance += add; 
     balance -= minPay; 
     System.out.printf("%-6s%-10.2f%-10.2f\n", i+1 + ".", "$" + minPay, "$" + balance); 
+1

저는 DecimalFormat이 완벽하게 여기에 맞을 것이라고 생각합니다 : –

+0

... 예상되는 결과는 무엇입니까 (예를 들어주세요). 그리고 무엇을 얻고 있습니까? – chrylis

답변

0

사용 DecimalFormat가 대신 수레 형식 문자열의 printf와 인수를위한 두 개의 문자열을 생성하고, 마지막 줄에 숫자

DecimalFormat df = new DecimalFormat("0.00"); 
String result = df.format(44.4549); 
1

의 형식을 기대하고있다. Java에서 문자열을 "추가"하면 다른 인수는 문자열로 변환되고 결과는 다른 문자열입니다.

달러 기호를 printf 형식 문자열로 이동하고 인수를 부동 소수점으로 전달하십시오.

+0

그랬어! 정말 고마워! :디 – kabloo12

관련 문제