2017-05-05 1 views
0

피자 계산기를 만들고 있지만 결과가 "$ 7.50"대신 "$ 7.5"로 표시됩니다. 나는이 10 진수 형식의 코드를 내 코드로 작성했지만, 작동하지 않는 것 같습니다. 어떤 아이디어?Jframe에서 10 진수 형식?

private void calculateButtonActionPerformed(java.awt.event.ActionEvent evt) {             

    double diameter; 
    double labourCost = 1.00; 

    diameter = Double.parseDouble(diameterInput.getText()); 

    double storeCost = 1.50; 
    double materialsCost = 0.50 * diameter; 
    double totalCost = labourCost + storeCost + materialsCost; 

    DecimalFormat x = newDecimalFormat("0.00"); 

    costOutput.setText("The cost of the pizza is $" + totalCost); 

답변

2

작업 결과 ("x")를 사용하고 있지 않습니다. 마지막 줄에서 "totalCost"를 "x"로 바꾸면 도움이 될 것 같습니까?

+0

다양한 패턴에 대한 자세한 내용은이 페이지를 참조하십시오 AWT-EventQueue의-0 "java.lang.UnsupportedOperationException과는 : 아직 지원되지 않습니다." –

+0

그러면 코드에서 제공 한 바깥 쪽에서 오류가 발생합니다. newDecimalFormat의 코드는 무엇이며 "costOutput"유형은 무엇입니까? –

+0

@JessWittman - 줄 "DecimalFormat x = newDecimalFormat ("0.00 ");"은 실제로 새 DecimalFormat 인스턴스를 만드시겠습니까? "예"인 경우 공백이 누락되었습니다. "DecimalFormat x = new DecimalFormat ("0.00 ");". 대신에 "newDecimalFormat"이 메서드를 참조하면 해당 메서드의 내용을 확인해야합니다. "costOutput"유형을 포함해야합니다. –

0

부동 소수점 값을 문자열로 변환하려면 Decimal Formatter를 사용해야합니다.

// Make a new formatter with your format 
DecimalFormat myFormatter = new DecimalFormat("$##.00"); 
// Convert your number to a human readable string 
String output = myFormatter.format(22.99999f); 
System.out.println(output); // Prints $23.00 

실제로 "스레드에서 예외"나에게 엄청난 오류를 준 https://docs.oracle.com/javase/tutorial/i18n/format/decimalFormat.html