ryv*_*age 14 java decimalformat
有没有办法阻止DecimalFormat对象自动将小数位移到右边两个位置?
这段代码:
double d = 65.87;
DecimalFormat df1 = new DecimalFormat(" #,##0.00");
DecimalFormat df2 = new DecimalFormat(" #,##0.00 %");
System.out.println(df1.format(d));
System.out.println(df2.format(d));
Run Code Online (Sandbox Code Playgroud)
生产:
65.87
6,587.00 %
Run Code Online (Sandbox Code Playgroud)
但我希望它产生:
65.87
65.87 %
Run Code Online (Sandbox Code Playgroud)
Pop*_*ibo 26
使用单引号包围您的%:
DecimalFormat df2 = new DecimalFormat(" #,##0.00 '%'");
Run Code Online (Sandbox Code Playgroud)
默认情况下,%在格式字符串中使用a时,要格式化的值将首先乘以100.您可以使用该DecimalFormat.setMultiplier()方法将乘数更改为1 .
double d = 65.87;
DecimalFormat df2 = new DecimalFormat(" #,##0.00 %");
df2.setMultiplier(1);
System.out.println(df2.format(d));
Run Code Online (Sandbox Code Playgroud)
产生
65.87 %
Run Code Online (Sandbox Code Playgroud)