2016-12-20 4 views
0

答えウィンドウで小数点以下2桁を表示するプログラムが必要です。そしてそれは私にもっと多くを示す。私は "インポートjava.text.DecimalFormat;"それは動作しません。たぶん私は間違ってどこかに置く。ここに私のコードです。小数点以下2桁のみを表示するにはどうすればよいですか?(JAVA、NetBeans)回答窓で小数点以下2桁のみを表示するプログラムが必要

double pb, pc = 0; 

    try { 
     pb=Double.parseDouble(pakavimoPlotas.getText()); 
    } 
    catch (Exception e) { 
     JOptionPane.showMessageDialog(this, "Blogai įvestas pakavimo plotas", 
       "ERROR", JOptionPane.ERROR_MESSAGE); 
    } 

    pb=Double.parseDouble(pakavimoPlotas.getText()); 
    pc=pb*0.17; 
    pakavimoKaina.setText(""+pc); 
    pakavimoKaina2.setText(""+pc+" EUR"); 
+4

の可能性のある重複した[Javaでのn桁まで数値を丸める方法](http://stackoverflow.com/questions/153724/how-to-round-a-number -n-decimal-places-in-java) – Turamarth

答えて

0

Turamarthがリンクしている投稿はおそらくあなたの問題を解決します。

もう1つの解決策は、計算にBigDecimal(java.math.BigDecimal)を使用することです。 BigDecimalを使用するのは、スケールまたは丸めが必要な小数点以下を扱うときです。ここで小さな例です:

public static void main(String[] args) {    
    BigDecimal bd1 = new BigDecimal("33.34528941"); 
    BigDecimal bd2 = new BigDecimal("2.98375667"); 

    BigDecimal bdResult1 = bd1.divide(bd2, 4, RoundingMode.HALF_UP);  
    System.out.println(bdResult1.toString()); 

    BigDecimal bdResult2 = bd1.multiply(bd2); 
    System.out.println(bdResult2.toString()); 
    bdResult2 = bdResult2.setScale(2, RoundingMode.HALF_UP); 
    System.out.println(bdResult2.toString()); 

    BigDecimal bd3 = new BigDecimal(getSomeDecimalText()); 
    bd3 = bd3.setScale(2, RoundingMode.HALF_UP); 
    System.out.println(bd3.toString()); 

    double d = bd3.doubleValue(); 
    System.out.println(d); 
} 

private static String getSomeDecimalText() { 
    return "1.23456789"; 
} 
関連する問題