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则向下舍
点击打开链接





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

相关文章推荐

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

[原]BigDecimal Java中最好用的保留小数点的方法 2014-3-31阅读332 评论0 Java 中保留小数位的方法有四种,如下: import java.math.Big...

java BigDecimal 和DecimalFormat用法

java.math.BigDecimal 不可变的、任意精度的有符号十进制数。BigDecimal 由任意精度的整数非标度值和32位的整数标度(scale)组成。 如果为零或正数,则标度是小数点后...

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

学习目标 可以使用NumberFormat类进行本地化数字显示。 可以使用DecimalFormat指定格式化模板。 可以使用BigInteger操作大整数。 可以使用BigDecimal指定...

BigDecimal和DecimalFormat结合格式化输出精确数值

/** * @author 黄安邦 *  * TODO 要更改此生成的类型注释的模板,请转至 窗口 - 首选项 - Java - 代码样式 - 代码模板 */public class Math {  ...
  • NoExcuse
  • NoExcuse
  • 2005年10月10日 16:28
  • 13484

DecimalFormat和BigDecimal对格式化的性能对比

public static void main(String[] args) { long start = System.currentTimeMillis(); for (int i =...
  • arkblue
  • arkblue
  • 2011年11月01日 16:31
  • 4011

对于“DecimalFormat和BigDecimal小数点的四舍五入陷阱”的修改

decimalformat是很好用, 本人也习惯性的用它, 直到最近, 在做有关财务发票的内容时, 才发现其中的一个陷阱(不是BUG) 想要用decimalformat做小数点后2位,一般做法都是ne...

千分位格式化 数字格式化 fmt:formatNumber 和DecimalFormat java千分位格式化

数字格式化: 123,456.0000 DecimalFormat df = new DecimalFormat("0.0000");

JAVA BigDecimal 小数点处理

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

保留小数:java DecimalFormat format 方法的使用

DecimalFormat format 方法 大家在format()一个小数是,总是对格式中的'0'和'#'有些不解吧! eg:      1:new DecimalFormat("00.00...

BigDecimal用法详解

一、简介 Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数。在实际应用中,需要对更大或...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java基础——数据显示处理 DecimalFormat+BigDecimal
举报原因:
原因补充:

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