Java保留两位⼩数的⼏种写法总结
转载
本⽂列举了⼏个⽅法:
1. 使⽤java.math.BigDecimal
2. 使⽤DecimalFormat
3. 使⽤NumberFormat
4. 使⽤java.util.Formatter
5. 使⽤String.format
⽂章末尾给⼤家分享了更多的拓展知识,另外可以⾃⼰实现或者借⽤封装好的类库来实现,在这篇⽂章中就不⼀⼀列举了。下⾯来看看详细的介绍。
⼀、使⽤BigDecimal,保留⼩数点后两位
1 2 3 4 5 6public static String format1(double value) {
BigDecimal bd = new BigDecimal(value);
bd = bd.setScale(2, RoundingMode.HALF_UP); String();
}
⼆、使⽤DecimalFormat,保留⼩数点后两位
1 2 3 4 5 6public static String format2(double value) {
DecimalFormat df = new DecimalFormat("0.00"); df.setRoundingMode(RoundingMode.HALF_UP); return df.format(value);
}
三、使⽤NumberFormat,保留⼩数点后两位1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19public static String format3(double value) {
NumberFormat nf = NumberInstance(); nf.setMaximumFractionDigits(2);
/*
* setMinimumFractionDigits设置成2
*
* 如果不这么做,那么当value的值是100.00的时候返回100 *
* ⽽不是100.00
*/
nf.setMinimumFractionDigits(2);
nf.setRoundingMode(RoundingMode.HALF_UP);
/*
* 如果想输出的格式⽤逗号隔开,可以设置成true
*/
nf.setGroupingUsed(false);
return nf.format(value);
}
四、使⽤java.util.Formatter,保留⼩数点后两位
1 2 3 4 5 6public static String format4(double value) {
/*
* %.2f % 表⽰⼩数点前任意位数 2 表⽰两位⼩数格式后的结果为 f 表⽰浮点型 */
return new Formatter().format("%.2f", value).toString();
}
五、使⽤String.format来实现。
1 2 3 4public static String format5(double value) { return String.format("%.2f", value).toString(); }
扩展知识
String.format 作为⽂本处理⼯具,为我们提供强⼤⽽丰富的字符串格式化功能。对浮点数进⾏格式化 占位符格式为: %[index$][标识]*[最⼩宽度][.精度]转换符
1 2 3 4double num = 123.4567899;
System.out.print(String.format("%f %n", num)); // 123.456790 System.out.print(String.format("%a %n", num)); // 0x1.edd3c0bb46929p6 System.out.print(String.format("%g %n", num)); // 123.457
可⽤标识:
-,在最⼩宽度内左对齐,不可以与0标识⼀起使⽤。
0,若内容长度不⾜最⼩宽度,则在左边⽤0来填充。
#,对8进制和16进制,8进制前添加⼀个0,16进制前添加0x。
+,结果总包含⼀个+或-号。
空格,正数前加空格,负数前加-号。
,,只⽤与⼗进制,每3位数字间⽤,分隔。
(,若结果为负数,则⽤括号括住,且不显⽰符号。
可⽤转换符:
b,布尔类型,只要实参为⾮false的布尔类型,均格式化为字符串true,否则为字符串false。
n,平台独⽴的换⾏符, 也可通过Property("line.separator")获取。
f,浮点数型(⼗进制)。显⽰9位有效数字,且会进⾏四舍五⼊。如99.99。
a,浮点数型(⼗六进制)。
e,指数类型。如9.38e+5。
g,浮点数型(⽐%f,%a长度短些,显⽰6位有效数字,且会进⾏四舍五⼊)bigdecimal除法保留小数
总结
以上就是Java中保留两位⼩数多种写法的全部内容了,希望本⽂的内容对⼤家的学习或者⼯作能带来⼀定的帮助,如果有疑问⼤家可以留⾔交流。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论