使用BigDecimal,保留小数点后两位
公共静态字符串格式1 (双值) {
bigdecimal BD=new bigdecimal (value;
BD=BD.setscale(2,RoundingMode.HALF_UP );
return bd.toString (;
}
使用DecimalFormat保留两位小数
公共静态字符串格式2 (双值) {
decimal format df=new decimal format (' 0.00 );
df.setroundingmode (rounding mode.half _ up );
返回df.format (value;
}
使用number格式,保留两位小数
公共静态字符串格式3 (双值) {
numberformatnf=number format.getnumber instance (;
nf.setmaximumfractiondigits(2;
/*
* setMinimumFractionDigits设置为2
*
*否则,当值为100.00时返回100
*
不是100.00
*/
nf.setminimumfractiondigits(2;
nf.setroundingmode (rounding mode.half _ up;
/*
*如果要输出的格式以逗号分隔,则可以将其设置为true
*/
nf.setgroupingused(false );
返回nf.format (value );
}
使用java.util.Formatter保留两位小数
公共静态字符串格式4 (双值) {
/*
* %.2f %表示小数点前的任意位数,两位小数格式的结果f表示浮点类型
*/
return new Formatter ().format ) ' %.2f ',value ).toString );
}
使用String.format实现。
公共静态字符串格式5 (双值) {
returnstring.format('%.2f ',value ).toString );
}
扩大知识
String.format作为文本处理工具,提供了强大而丰富的字符串格式功能。
格式化浮点数
占位符的格式为% [索引$ ][标识符]*[最小宽度] [ .精度]转换器
double num=123.4567899;
系统. out.print (string.format (' % f % n ',num ); //123.456790
系统. out.print (string.format (' % a % n ',num ); //0x1.edd3c0bb46929p6
系统. out.print (string.format (' % g % n ',num ); //123.457
可用徽标:
-在最小宽度内左对齐,请勿与0标记一起使用。
0、内容长度小于最小宽度时,向左用0填充。
、八进制和十六进制,在八进制之前添加0,在十六进制之前添加0x。
、结果始终包含或-编号。
空格,在正数之前加上空格,在负数之前加上-符号。
、和只有十进制数,每三位数字之间用分隔。
如果结果为负数,则将其括在括号中,不显示符号。
可用的转换子:
B,布尔型。 如果实参是非false布尔型,则格式化为字符串true,否则为字符串false。
n,平台独立的换行代码也可从system.getproperty (' line.separator ) )获取。
f,浮点型(十进制)。 显示有效的9位数字并进行四舍五入。 例如99.99。
a,浮点型(十六进制)。
e、指数类型。 例如9.38e 5。
g,浮点型(长度短于%f,%a,显示有效的6位数字并进行四舍五入) ) )。