`
zzy7182
  • 浏览: 123408 次
  • 性别: Icon_minigender_1
  • 来自: 火车头
社区版块
存档分类
最新评论

BigDecimal 限定小数点位数,四舍五入

UP 
阅读更多
BigDecimal 的用法

/**

    * 提供精確的小數位四捨五入處理。
   * @param v 需要四捨五入的數字
   * @param scale 小數點後保留幾位
   * @return 四捨五入後的結果
  */

    public static double round(double v,int scale){

        if(scale<0){

            throw new IllegalArgumentException(

                "The scale must be a positive integer or zero");       }

        BigDecimal b = new BigDecimal(Double.toString(v));

        BigDecimal one = new BigDecimal("1");

        return b.divide(one,scale,BigDecimal.ROUND_HALF_UP).doubleValue();

    }

};

分享到:
评论

相关推荐

    四舍五入_四舍五入问题_源码

    从标签"四舍五入问题"来看,可能还会涉及到更复杂的四舍五入策略,比如指定保留的小数位数、选择向上或向下取整等。不过,根据提供的描述,这个问题相对简单,主要关注的是基本的四舍五入和整数部分的提取。 至于...

    java四舍五入

    在 Java 语言中,四舍五入方法可以通过多种方式实现,包括使用 Math 类的方法、DecimalFormat 类的方法和 BigDecimal 类的方法。 1. 使用 Math 类的方法 Java 的 Math 类提供了多种数学函数,包括 floor、ceil 和 ...

    java 四舍五入 需要的朋友看看

    `BigDecimal`允许开发人员指定舍入模式和小数位数,从而实现更灵活的四舍五入。 #### `BigDecimal.setScale()`方法 `setScale()`方法用于设置小数点后的位数,并可以选择不同的舍入模式。其中,`BigDecimal.ROUND_...

    sishewuru.rar_四舍五入

    四舍五入是一种在数学和计算机科学中常见的数值处理技巧,它用于将一个数字调整到指定的小数位数,同时保持结果的近似精度。这种操作通常用于简化数字表示,使其更易读或者符合特定的精度要求。在描述中提到的“可以...

    js四舍五入-保留两位小数

    在上面的例子中,我们使用`BigDecimal`类创建了一个表示123.4567的`BigDecimal`对象,然后调用`setScale()`方法设置保留两位小数,并使用`RoundingMode.HALF_EVEN`指定四舍五入的规则。 ##### 2. 使用 `...

    详解java的四舍五入与保留位示例

    四舍五入规则是指在小数点后保留指定位数的数字,如果舍弃位大于5则进位,否则舍弃。在Java中,四舍五入可以使用Math.round()方法实现。 Java中的四舍五入规则主要有两种,一种是银行家舍入法,另一种是普通四舍五...

    金额的大小转换及小数的四舍五入处理

    在Java中,`BigDecimal`类是用来处理大数值和高精度计算的,同样适用于四舍五入: ```java BigDecimal bd = new BigDecimal("12345.6789"); BigDecimal rounded = bd.setScale(2, RoundingMode.HALF_UP); System....

    Java四舍五入时保留指定小数位数的五种方式

    在这里,`setScale()`方法用于设置小数点后的位数(2),`ROUND_HALF_UP`是舍入模式,表示四舍五入。结果`f1`将是3.15。 2. **使用`DecimalFormat`类**: `DecimalFormat`是`java.text`包中的一个类,它可以按照...

    java代码-BigDecimal 四舍五入保留2位小数. 金额从单位分转成单位元

    这个方法可以用来改变BigDecimal的标度(即小数位数),并指定四舍五入的策略。`newScale`参数指定了新的小数位数,而`roundingMode`参数决定了如何处理超出位数的数字。例如,RoundingMode.HALF_UP是常用的四舍五入...

    关于java的四舍五入问题

    2. **手动除法和乘法**:将数字乘以10的幂,进行整数四舍五入,然后除以相同的幂,可以保留指定的小数位数。 3. **自定义舍入策略**:根据业务需求,可能实现了一些特定的舍入规则,比如在特定条件下总是向上或向下...

    java 四舍五入保留小数的实现方法

    这里先将值乘以100,然后进行四舍五入,最后除以100来还原小数点位置。 以上四种方法都可以实现Java中四舍五入保留小数的功能,选择哪种方法取决于具体需求,如精度控制、性能考虑、是否需要字符串输出等。在实际...

    介绍Java的大数类(BigDecimal)和八种舍入模式

    - ROUND_HALF_UP:四舍五入,如果舍弃部分等于0.5或大于0.5,则向上舍入。 - ROUND_HALF_DOWN:五舍六入,如果舍弃部分大于0.5,则向上舍入,否则向下舍入。 - ROUND_HALF_EVEN:银行家舍入,如果舍弃部分等于0.5...

    JSTL标签的formatNumber 格式化数字,四舍六入问题。

    JSTL的`&lt;fmt:formatNumber&gt;`标签在处理小数时,默认使用Java的`BigDecimal`类进行计算,遵循银行家舍入法则(Banker's Rounding),它在四舍五入时会考虑到数字的奇偶性,以避免累积误差。但有时候我们可能需要实现...

    BigDecimal加减乘除计算

    这里 `20` 表示保留20位小数,`ROUND_HALF_UP` 是舍入模式,表示四舍五入。 6. 舍入模式(RoundingMode): BigDecimal 支持八种舍入模式,如: - ROUND_UP:向上舍入,远离零,始终增加数字。 - ROUND_DOWN:...

    JS的高精度计算(BigDecimal)

    alert(new BigDecimal("10").add(new BigDecimal("3E+10"))); //- alert(new BigDecimal("10").subtract(new BigDecimal("3E+10"))); //* alert(new BigDecimal("10").multiply(new BigDecimal("3E+10"))); // / ...

    bigdecimal

    2. **舍入模式**: `BigDecimal.ROUND_HALF_UP` 表示四舍五入模式,这是最常见的舍入方式。`BigDecimal` 还提供了其他多种舍入模式,如 `ROUND_DOWN`、`ROUND_UP` 等,可以根据具体需求选择。 3. **异常处理**: 当 `...

    数据修约(四舍五入\整数位修约)

    1.采用两种方式实现数据修约【①IEEE754的银行家算法、②传统的四舍五入】。 2.实现Decimal、double、string三种数据类型的数据修约。 3.实现了指定小数位、指定整数位的数据修约。

    BigDecimal使用

    7. 四舍五入:在进行除法运算时,可以使用 ROUND_HALF_UP 参数指定四舍五入的方式,以避免精度损失。 在使用 BigDecimal 时需要注意以下几点: * BigDecimal 对象是不可变的,因此在进行运算时需要创建新的对象。 ...

    java中BigDecimal的操作方法

    在13.5500除以5时,实际计算结果是13.5500000...,在四舍五入到第1位时,由于5之后的位数不为0,所以进位得到13.6。 BigDecimal还提供了其他一些方法,如`compareTo()`用于比较两个BigDecimal对象的大小,`scale()`...

Global site tag (gtag.js) - Google Analytics