Java基础——数据显示处理 DecimalFormat+BigDecimal

原创 2015年11月20日 09:56:07


1、保留两位小数,末尾是0仍然显示,不足补0

	DecimalFormat df1 = new DecimalFormat("0.00");
	System.out.println(df1.format(20.20222));
结果:20.20

	DecimalFormat df3 = new DecimalFormat("000.000000");
	System.out.println(df3.format(20.20222));
结果:020.202220

2、保留两位小数,如果末尾是0则舍去

        DecimalFormat df2 = new DecimalFormat("#.##");
	System.out.println(df2.format(20.20222));
结果:20.2

	DecimalFormat df4 = new DecimalFormat("###.########");
	System.out.println(df4.format(20.20222));
结果:20.20222

3、设置含%

<span style="white-space:pre">	</span>DecimalFormat df5 = new DecimalFormat();
	df5.applyPattern("##.##%");
	System.out.println(df5.format(20.20222));
结果:2020.22%


4、设置最大位数不超过

	DecimalFormat df6 = new DecimalFormat();
	df6.setMaximumIntegerDigits(1);
	System.out.println(df6.format(20.20222));
结果:0.202

        df6.setMinimumIntegerDigits(10);// 设置整数部分最小长度,不够0补
	System.out.println(df6.format(20.20222));
结果:0,000,000,020.202


5、设置分组

	DecimalFormat df8 = new DecimalFormat();
	int number = 123456789;
	// 设置三个一组
	df8.setGroupingSize(3);
	DecimalFormatSymbols dfs = DecimalFormatSymbols.getInstance();
	// 设置小数字分隔符
	dfs.setDecimalSeparator('!');
	dfs.setGroupingSeparator('0');
	df8.setDecimalFormatSymbols(dfs);
	System.out.println(df8.format(2220.20222));
	df8.setGroupingUsed(false);
	System.out.println(df8.format(2220.20222));

结果:20220!202
            2220!202

6、三位逗号分隔

    System.out.println(new DecimalFormat(",###").format(123456789.123456));       
    System.out.println(new DecimalFormat("这句话是结合文字的,### 元。").format(123456789.123456));  
结果:

123,456,789
这句话是结合文字的123,456,789 元。

BigDecimal.setScale()方法用于格式化小数点
setScale(1)表示保留一位小数,默认用四舍五入方式 
setScale(1,BigDecimal.ROUND_DOWN)直接删除多余的小数位,如2.35会变成2.3 
setScale(1,BigDecimal.ROUND_UP)进位处理,2.35变成2.4 
setScale(1,BigDecimal.ROUND_HALF_UP)四舍五入,2.35变成2.4
setScaler(1,BigDecimal.ROUND_HALF_DOWN)四舍五入,2.35变成2.3,如果是5则向下舍
点击打开链接





版权声明:本文为博主原创文章,未经博主允许不得转载。

java BigDecimal 和DecimalFormat用法

java.math.BigDecimal 不可变的、任意精度的有符号十进制数。BigDecimal 由任意精度的整数非标度值和32位的整数标度(scale)组成。 如果为零或正数,则标度是小数点后...
  • wangxin1982314
  • wangxin1982314
  • 2016年07月19日 12:45
  • 565

BigDecimal Java中最好用的保留小数点的方法

[原]BigDecimal Java中最好用的保留小数点的方法 2014-3-31阅读332 评论0 Java 中保留小数位的方法有四种,如下: import java.math.Big...
  • qq_29031233
  • qq_29031233
  • 2015年12月16日 17:47
  • 30069

Java BigDecimal的基本使用方法

1、对于不需要任何准确计算精度的数字可以直接使用float或double,但是如果需要精确计算的结果,则必须使用BigDecimal类 2、运算速度比一般的+、-、*、/要快 3、基本...
  • qdgengwenfei
  • qdgengwenfei
  • 2015年08月12日 15:12
  • 2672

java BigDecimal

/** * @Description: 将String转换成Double,并且四舍五入保留小数点后两位 * @return String */ public static Dou...
  • qq_35815781
  • qq_35815781
  • 2018年01月21日 21:18
  • 25

JAVA BigDecimal 小数点处理

保留两位小数{ 方法一:{    double   c=3.154215;    java.text.DecimalFormat myformat=new java.text.DecimalFo...
  • lhooouuu
  • lhooouuu
  • 2011年12月20日 11:01
  • 209392

BigDecimal 类型数据的加、减、乘、除以及格式化

BigDecimal 类型数据的加、减、乘、除以及格式化
  • u010849331
  • u010849331
  • 2014年12月09日 14:47
  • 1343

java中价格的数字中间有逗号的格式化

public class DecimalFormatTool { //每3位中间添加逗号的格式化显示 public static String getCommaFormat(BigDecima...
  • findlymw
  • findlymw
  • 2014年07月31日 17:22
  • 3438

BigDecimal的用法详解(保留两位小数,四舍五入,数字格式化,科学计数法转数字,数字里的逗号处理)

一、简介     Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数。在实际应用中,需要对更...
  • oChangWen
  • oChangWen
  • 2016年05月29日 14:52
  • 44256

BigInteger、BigDecimal、数字格式化

BigInteger与BigDecimal的目的是用来精确地表示大整数和小数,常用于商业计算中。 BigInteger:支持任意精度的整数,可以精确地表示任意大小的整数值,同时在运算过程中不会丢失任何...
  • zero__007
  • zero__007
  • 2016年05月05日 21:33
  • 3509

Java常用类库——数字格式化(NumberFormat)与大数操作(BigIntger、BigDecimal类)

学习目标 可以使用NumberFormat类进行本地化数字显示。 可以使用DecimalFormat指定格式化模板。 可以使用BigInteger操作大整数。 可以使用BigDecimal指定...
  • u013087513
  • u013087513
  • 2016年07月05日 17:21
  • 1768
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java基础——数据显示处理 DecimalFormat+BigDecimal
举报原因:
原因补充:

(最多只允许输入30个字)