Java 从整数转换为十进制数后的格式

Java 从整数转换为十进制数后的格式,java,decimalformat,Java,Decimalformat,我需要将一个整数转换为十进制数,然后根据特定条件将其格式化为精度为2、3、4或5的十进制数 因此,我使用了以下代码: public NumberFormat decimalFormatter = new DecimalFormat("#,##0.00"); public static NumberFormat decimalFormatter3 = new DecimalFormat("#,##0.000"); public static NumberFormat decima

我需要将一个整数转换为十进制数,然后根据特定条件将其格式化为精度为2、3、4或5的十进制数

因此,我使用了以下代码:

public  NumberFormat decimalFormatter = new DecimalFormat("#,##0.00");
    public static NumberFormat decimalFormatter3 = new DecimalFormat("#,##0.000");
    public static NumberFormat decimalFormatter4 = new DecimalFormat("#,##0.0000");
    public static NumberFormat decimalFormatter5 = new DecimalFormat("#,##0.00000");
    public void run(Integer numeroDecimali, Articoli articoli){
        if(numeroDecimali == null || numeroDecimali == 2)
            super.setValueAt(articoli.getPrezzoTot()!=null ? 
                    decimalFormatter.format(articoli.getPrezzoTot()) : "", rowIndex, 7);
        else if(numeroDecimali == 3)
            super.setValueAt(articoli.getPrezzoTot()!=null ? 
                    decimalFormatter3.format(articoli.getPrezzoTot()) : "", rowIndex, 7);
        else if(numeroDecimali == 4)
            super.setValueAt(articoli.getPrezzoTot()!=null ? 
                    decimalFormatter4.format(articoli.getPrezzoTot()) : "", rowIndex, 7);
        else if(numeroDecimali == 5)
            super.setValueAt(articoli.getPrezzoTot()!=null ? 
                    decimalFormatter5.format(articoli.getPrezzoTot()) : "", rowIndex, 7);
我输入十进制数,使用十进制格式(2,3,4,5),我可以格式化文本。
这段代码可以工作,但是,有没有一种方法可以在没有那么多IF语句的情况下实现这一点?有没有办法结合numeroDecimali的信息来优化代码?

您可以使用以下方法:

String.format( "%,." + numeroDecimali + "f", articoli.getPrezzoTot() );

只要确保,
numeroDecimali
有一个有效值。

我投票结束这个问题,因为关于改进工作代码的问题属于