Format der BigDecimal-Zahl

BigDecimal val = BigDecimal.valueOf(0.20);
System.out.println(a);

Will ich speichern in val Wert 0.20 und nicht 0.2. Was kann ich tun ?

Ich glaube nicht, dass ich verwenden können NumberFormat in diesem Fall, wenn ich NumberFormat ich muss wissen, was die Länge meiner Dezimalzahl ist! Ich kann 0.20 oder 0.5000, ich weiß nicht die genaue Länge meiner Dezimalzahl, so kann ich nicht verwenden :

DecimalFormat df = new DecimalFormat("#0.00");

oder

DecimalFormat df = new DecimalFormat("#0.00000");

vielleicht habe ich auch nur 2 zahlen nach dem Punkt oder 5 zahlen oder mehr, und dieses Programm funktioniert nicht:

 BigDecimal a = BigDecimal.valueOf(0.20);//i give an example of 0.2 i can have 0.98...0
         System.out.println(a);

         NumberFormat nf1 = NumberFormat.getInstance();
         System.out.println(nf1.format(0.5000));
Ich das akzeptieren, aber es ist immer noch 0 !! was kann ich tun ?

InformationsquelleAutor Mehdi | 2012-05-18

Schreibe einen Kommentar