采用四舍五入的方式 : 该方式来自网络
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
import java.math.BigDecimal; import java.text.DecimalFormat; import java.text.NumberFormat; public class format { double f = 111231.5585 ; public void m1() { BigDecimal bg = new BigDecimal(f); double f1 = bg.setScale( 2 , BigDecimal.ROUND_HALF_UP).doubleValue(); System.out.println(f1); } /** * DecimalFormat转换最简便 */ public void m2() { DecimalFormat df = new DecimalFormat( "#.00" ); System.out.println(df.format(f)); } /** * String.format打印最简便 */ public void m3() { System.out.println(String.format( "%.2f" , f)); } public void m4() { NumberFormat nf = NumberFormat.getNumberInstance(); nf.setMaximumFractionDigits( 2 ); System.out.println(nf.format(f)); } public static void main(String[] args) { format f = new format(); f.m1(); f.m2(); f.m3(); f.m4(); } } |
结果:
1
2
3
4
|
111231.56 111231.56 111231.56 111,231.56 |
采用非四舍五入的方式 :
1
2
3
4
5
6
7
8
9
|
public static void main(String[] args) { double finalMoney = 27.989 ; System.out.println(finalMoney); DecimalFormat formater = new DecimalFormat(); formater.setMaximumFractionDigits( 2 ); formater.setGroupingSize( 0 ); formater.setRoundingMode(RoundingMode.FLOOR); System.out.println(formater.format(finalMoney)); } |
结果
1
2
|
27.989 27.98 |
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
原文链接:http://blog.csdn.net/johnny901114/article/details/8923799