java精度问题
2015-11-17 11:00
429 查看
/**
** 一般情况下 精度是保留2位小数,并且四舍五入。
<span style="white-space:pre"> </span>但是,如果涉及金钱的话,也有一些其他要求,比如只要整数位,保留2位小数且不要四舍五入。
**/
<span style="white-space:pre"> </span>double s = 152.80d; System.out.println(Math.floor(s)); //返 回 152.0 DecimalFormat formater = new DecimalFormat("#0.##"); formater.setRoundingMode(RoundingMode.FLOOR); System.out.println(formater.format(499999.1683)); // 返回499999.16 double f = 499999.1683; BigDecimal b = new BigDecimal(f); double f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); System.out.println(f1); //499999.17
相关文章推荐
- java线程同步的几种方式
- Ehcache 整合Spring 使用页面、对象缓存
- 【Java并发编程】并发编程大合集
- Spring - Bean的生命周期
- java 关于setContentPane与getContentPane
- Spring AOP依赖包
- 【Java并发编程】之二十三:并发新特性—信号量Semaphore(含代码)
- JavaSE__原始的JDBC连接数据库,查询结果集 (基础篇)
- 谈谈个人对Spring的理解
- Java之控制反转和依赖注入
- Spring的IOC图形理解
- JAVA 文件存储、写入
- java里字节和字符分别
- Spring - BeanPostProcessor接口(后处理器)讲解
- Spring - BeanPostProcessor接口(后处理器)讲解
- 【Java并发编程】之二十二:并发新特性—障碍器CyclicBarrier(含代码)
- Java里面final基本要点
- Spring中的ContextLoaderListener使用
- java 缩略图
- 装饰者模式在Java 字节输入流中的应用