1

Javaで小数点以下2桁または小数点以下3桁までの10進数をフォーマットしようとしていたため、クラスの10進数形式を使用していました。

私は以下に示すようにこの解決策を考え出しましたが、同じことを達成するためにJavaが提供する他の代替手段があることも教えてください..!!

import java.text.DecimalFormat;

public class DecimalFormatExample {   

    public static void main(String args[])  {

        //formatting numbers upto 2 decimal places in Java
        DecimalFormat df = new DecimalFormat("#,###,##0.00");
        System.out.println(df.format(364565.14));
        System.out.println(df.format(364565.1454));

        //formatting numbers upto 3 decimal places in Java
        df = new DecimalFormat("#,###,##0.000");
        System.out.println(df.format(364565.14));
        System.out.println(df.format(364565.1454));
    }

}

Output:
364,565.14
364,565.15
364,565.140
364,565.145

同じことを達成するためにJavaが提供する他の代替手段を教えてください..!!

4

3 に答える 3

1

を再定義するのが面倒なDecimalFormat場合、または何度も再定義する必要があると思われる場合は、 を使用してインライン フォーマットを行うこともできますString.format()。特に Numeric サブタイトルの構文をFormatter確認してください。

于 2012-08-22T17:37:43.287 に答える
0

これが1つの方法です。

float round(float value, int roundUpTo){
     float x=(float) Math.pow(10,roundUpTo);
     value = value*x; // here you will guard your decimal points from loosing
     value = Math.round(value) ; //this returns nearest int value
     return (float) value/p;
}
于 2012-08-22T18:14:39.153 に答える