科特林。如何格式化末尾为零的十进制数?
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")
我需要格式化号码。
我需要以下结果:
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")