科特林。如何格式化末尾为零的十进制数?

Kotlin. How to format decimal number with zero at the end?

我需要格式化号码。

我需要以下结果:

3434 -> 3 434

3434.34 -> 3 434.34

3434.3 -> 3 434.30

这是我的代码:

  val formatter = DecimalFormat("#,###,##0.##")
            return formatter.format(value)

但我得到这样的结果:

3434 -> 3 434

3434.34 -> 3 434.34

3434.3 -> 3 434.3 // wrong!! expected 3 434.30

如果小数点后有一位,我需要在末尾加零。

请帮我解决这个问题?

示例:

import java.text.DecimalFormat;
import java.text.DecimalFormatSymbols;
import java.util.*;  

public class AddZeroToOneDigitDecimal{

     public static void main(String []args){
       System.out.println(customFormat(3434));
       System.out.println("----------");
       System.out.println(customFormat(3434.34));
       System.out.println("----------");
       System.out.println(customFormat(3434.3));
     }

     public static String customFormat(double d){

        String result =  formatter.format(d);
        return (result.replace(".00",""));
     }
     
     private static DecimalFormat formatter;
     private static final String DECIMAL_FORMAT = "#,###,##0.00";
     private static DecimalFormatSymbols formatSymbols = new DecimalFormatSymbols(Locale.ENGLISH);
    
     static {
         formatSymbols.setDecimalSeparator('.');
         formatSymbols.setGroupingSeparator(' ');
         formatter = new DecimalFormat(DECIMAL_FORMAT, formatSymbols);
     }
}

简化

 val formatter = DecimalFormat("#,###,##0.00");
 return formatter.format(value).replace(".00","");

删除 . 后的最后两个 # 并添加 00 代替 ##

val dec = DecimalFormat("#,###,##0.00")