JAVA中控制double和float的精度

2014-11-23 20:20:36 · 作者: · 浏览: 30

  Java代码


  package com.soft4j.utility;


  import java.math.BigDecimal;


  /**


  * 与小数位精度(四舍五入等)相关的一些常用工具方法.


  *


  * float/double的精度取值方式分为以下几种:


  * java.math.BigDecimal.ROUND_UP


  * java.math.BigDecimal.ROUND_DOWN


  * java.math.BigDecimal.ROUND_CEILING


  * java.math.BigDecimal.ROUND_FLOOR


  * java.math.BigDecimal.ROUND_HALF_UP


  * java.math.BigDecimal.ROUND_HALF_DOWN


  * java.math.BigDecimal.ROUND_HALF_EVEN


  */


  public final class RoundTool {


  /**


  * 对double数据进行取精度.


  *


  * For example:


  * double value = 100.345678;


  * double ret = round(value,4,BigDecimal.ROUND_HALF_UP);


  * ret为100.3457


  *


  * @param value


  * double数据.


  * @param scale


  * 精度位数(保留的小数位数).