2014年10月17日09:48:39

在做项目中遇到的,要把想显示的数据进行规定小数位的保留,下面写一下用过的方法:

1. BigDecimal 方法(我做项目的时候用的方法)

代码:

java.math.BigDecimal
BigDecimal bd = new BigDecimal("3.14159265");
bd = bd.setScale(3,BigDecimal.ROUND_HALF_UP); BigDecimal aa = new BigDecimal("3.1");
aa = aa.setScale(3,BigDecimal.ROUND_HALF_UP);

这里面的bd是自定义的变量,即最后取得小数点后若干位的数,3表示小数点后两位

输入结果:

bd=3.142

aa=3.100

2.DecimalFormat 方法

DecimalFormat df1 = new DecimalFormat(“0.0″); //保留1位小数,带前导零

DecimalFormat df2 = new DecimalFormat(“#.#”); //保留1位小数,可以不带前导零

DecimalFormat df3 = new DecimalFormat(“000.00″); //保留2位小数,带前导零

DecimalFormat df4 = new DecimalFormat(“###.##”); //保留2位小数,可以不带前导零

模式中#为可选,存在则出现,不存在则不出现;
      模式中0为必须,存在则为具体数字,不存在则为零;

例如:

DecimalFormat df1 = new DecimalFormat("0.0"); //保留1位小数,带前导零
DecimalFormat df2 = new DecimalFormat("#.#"); //保留1位小数,可以不带前导零
DecimalFormat df3 = new DecimalFormat("000.000"); //保留2位小数,带前导零
DecimalFormat df4 = new DecimalFormat("###.###"); //保留2位小数,可以不带前导零 System.out.println(df1.format(31.1556));
System.out.println(df2.format(31.1556));
System.out.println(df3.format(31.1556));
System.out.println(df4.format(31.1556));
System.out.println(df3.format(31.15));
System.out.println(df4.format(31.15));

输出结果:

31.2
31.2
1531.156
1531.156
1531.150
1531.15

结论:

1.df.format(double)的最终输出类型是String类型,但是参数必须为double类型

2.模式中#为可选,存在则出现,不存在则不出现;

模式中0为必须,存在则为具体数字,不存在则为零;

3.整数位假如超过了本身定义的位数,那么就将整数位全部位数都显示出来。


最新文章

  1. 浅谈Java中的equals和==
  2. PageObject小结
  3. poj3393[模拟题]
  4. cc2530 timer 1 PWM 输出
  5. Eclipse的下载和安装
  6. android 11 模拟onclick 事件
  7. 优化:代码移动code motion
  8. nodejs 下载网页及相关资源文件
  9. C#中的关键字
  10. 【LeetCode】25. Reverse Nodes in k-Group
  11. MySQL数据库web维护客户端管理工具
  12. ubuntu18.04 安装mysql 5.7.22
  13. 折腾Java设计模式之观察者模式
  14. centos7下/etc/rc.local文件里配置的开机启动项不执行的解决办法
  15. Docker学习笔记之docker-save vs docker-export vs docker-commit
  16. 普通rgb转换为16进制
  17. 二:Recovery models(恢复模式)
  18. iOS-项目开发1-图片浏览器
  19. Spark内部流程图
  20. Struts2重新学习2之struts2和struts1的区别

热门文章

  1. 网络设备MIB浏览器ifType、ifDescr、ifMtu、ifInOctets等的含义(Zabbix SNMP)
  2. 应用安全-工具使用-Burpsuite
  3. bash 特殊符号的含义
  4. Meet in the middle算法总结 (附模板及SPOJ ABCDEF、BZOJ4800、POJ 1186、BZOJ 2679 题解)
  5. 【JAVA】 03-Java中的异常和包的使用
  6. docker-compose启动报错:Creating network "soft_default" with the default driver ERROR: cannot create network e5b60fc347db868e471b61ea185fd24e3ea7e2730149d91ad70baf29732aaff0 (br-e5b60fc347db): conflicts wi
  7. 121-基于TI DSP TMS320DM8148的全高清1080P 60fs的视频编解码系统 机器人主板
  8. Linux防火墙--iptables--白名单配置
  9. 同步mysql
  10. RBAC用户权限管理数据库设计的图文详解