`
liu_jiaqiang
  • 浏览: 20955 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

BigDecimal.setScale 处理java小数点位数 (BigDecimal、精度、位数)

    博客分类:
  • java
 
阅读更多
BigDecimal.setScale 处理java小数点位数 (BigDecimal、精度、位数)
标签: java bigdecimal 精度 小数点位数 分类: java
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则向下舍

注释:
1:scale指的是你小数点后的位数。比如123.456则score就是3.
score()就是BigDecimal类中的方法啊。
比如:BigDecimal b = new BigDecimal("123.456");
b.scale(),返回的就是3.
2:
roundingMode是小数的保留模式。它们都是BigDecimal中的常量字段,有很多种。
比如:BigDecimal.ROUND_HALF_UP表示的就是4舍5入。
3:
pubilc BigDecimal divide(BigDecimal divisor, int scale, int roundingMode)
的意思是说:我用一个BigDecimal对象除以divisor后的结果,并且要求这个结果保留有scale个小数位,roundingMode表示的就是保留模式是什么,是四舍五入啊还是其它的,你可以自己选!
4:对于一般add、subtract、multiply方法的小数位格式化如下:
BigDecimal mData = new BigDecimal("9.655").setScale(2, BigDecimal.ROUND_HALF_UP);
        System.out.println("mData=" + mData);

----结果:----- mData=9.66
分享到:
评论

相关推荐

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

    `setScale()`方法用于设置小数点后的位数,并可以选择不同的舍入模式。其中,`BigDecimal.ROUND_HALF_UP`是最常用的四舍五入模式,它遵循传统的小学数学规则。 示例代码如下: ```java import java.math....

    jackson使用@JsonSerialize格式化BigDecimal解决.00不显示问题

    然而,处理特定数据类型如BigDecimal时,可能会出现精度丢失或格式不匹配的问题。在本案例中,开发者遇到的问题是,前端期望从后端获取的JSON数据中,BigDecimal类型的数值能够保留两位小数,但实际返回的数据丢失了...

    MyEditTextApplication输入框BigDecimal计算价格

    BigDecimal是Java提供的一个大数类,它可以用来进行精确的浮点数运算,避免了传统浮点数运算中可能出现的精度损失问题。在金融或会计系统中,对数据的精度要求很高,BigDecimal就成为首选的数据类型。 在...

    java(小数点,百分号处理)

    ### Java中的小数点与百分号处理技巧 在Java编程中,经常需要处理数值的格式化显示问题,尤其是在涉及财务、统计分析等场景时。本文将详细介绍如何利用Java中的`java.text.DecimalFormat`和`java.text.NumberFormat...

    Java中限制小数位数问题

    在Java编程中,我们经常会遇到需要处理浮点数的情况,特别是当涉及到金融计算、科学计算等对精度有较高要求的领域时,如何有效地控制小数点后保留的位数显得尤为重要。本文将详细介绍在Java中限制小数位数的几种常见...

    Java保留两位小数方法大全

    - `setScale(2, BigDecimal.ROUND_HALF_UP)` 表示将该`BigDecimal`对象的小数点后保留2位,并采用四舍五入的方式处理第三位及以后的数字。 - 最终得到的`double f1`即为保留两位小数的结果。 #### 方法二:使用`...

    java高精度计算算法与分析

    java高精度计算通常是指使用BigDecimal类来实现高精度计算,通过设置保留的小数位数来控制计算结果的精度。 java高精度计算的重要性 1. 金融应用:在金融应用中,高精度计算是非常重要的,因为小数点后面的一分钱...

    java保留两位小数问题

    这里需要注意的是,`setScale`方法的第一个参数表示保留的小数位数,第二个参数`BigDecimal.ROUND_HALF_UP`表示采用四舍五入的方式。 ##### 使用`DecimalFormat` `DecimalFormat`是`java.text`包下的一个类,用于...

    double保留小数

    - `setScale(int newScale, int roundingMode)`:设置新的标度(即小数点后保留的位数),并指定舍入模式。 3. **舍入模式**: - `BigDecimal.ROUND_UP`:远离零舍入,无论下一个数字是多少,都向上舍入。 - `...

    jsp中百分比表示方法

    根据提供的文件信息,我们可以提炼出几个关键的知识点:如何在JSP中正确计算并显示百分比、如何使用`BigDecimal`来精确控制小数点后的位数以及如何利用`DecimalFormat`格式化输出。 ### JSP中的百分比表示方法 ###...

    java中BigDecimal进行加减乘除的基本用法

    此外,`BigDecimal` 还提供了调整小数位数的方法 `setScale()`,用于设置结果的精度。例如: ```java BigDecimal mc = mc.setScale(2, BigDecimal.ROUND_HALF_UP); ``` 这将 `mc` 的值四舍五入到小数点后两位。 ...

    BigDecimal详解、代码示例和经常遇到的坑

    `BigDecimal`是Java编程语言中`java.math`包内提供的一种高级数据类型,主要用于处理高精度的十进制数值。与基本数据类型`float`或`double`相比,`BigDecimal`能够提供更为准确的计算结果,避免因浮点数计算导致的...

    使用java代码实现保留小数点的位数

    除了上述方法,还有其他方式可以实现保留小数点位数的功能。例如,可以使用`java.math.BigDecimal`类,它提供精确的浮点数运算。以下是一个使用`BigDecimal`的例子: ```java import java.math.BigDecimal; import ...

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

    `BigDecimal`是Java中用于处理高精度、大数值计算的类,提供了多种舍入模式。以下是一个例子: ```java double f = 3.1516; BigDecimal b = new BigDecimal(f); double f1 = b.setScale(2, BigDecimal.ROUND_...

    java代码-java 小数点后的多余的0处理

    对于高精度计算和精确控制小数点后位数的需求,可以使用`java.math.BigDecimal`类。`BigDecimal`提供了多种构造函数和方法,可以方便地进行精确的数学运算,并控制结果的格式。 ```java import java.math....

    因BigDecimal类型数据引出的问题详析

    在Java编程中,BigDecimal类是处理高精度浮点数计算的关键工具,特别是在金融或会计领域,需要精确到小数点后多位的情况下。然而,BigDecimal在实际应用中可能会引发一些问题,尤其是在进行数值比较时。 首先,我们...

    Java BigDecimal类用法详解

    `BigDecimal`类是Java中处理高精度数值的关键工具,它通过非标度值和标度的概念实现了精确的十进制计算。在进行货币计算或其他需要精确结果的场景下,`BigDecimal`是不可或缺的选择。在使用过程中,了解其特性和...

    java精度计算代码 java指定精确小数位

    总结起来,Java中进行精度计算并指定精确小数位,应使用`BigDecimal`类,通过`DecimalFormat`进行格式化,并结合`setScale`方法来设定小数位数。这个过程可以有效地避免浮点数运算中的精度问题,确保计算结果的准确...

    Java指定保留小数位数的方法

    BigDecimal类是Java提供的一种高精度数字类,可以用于保留小数位数。例如,使用以下代码可以将小数保留两位: ```java BigDecimal bd = new BigDecimal("3.14159"); bd = bd.setScale(2, RoundingMode.HALF_UP); ...

    java 解惑 doubt

    在进行货币计算等涉及小数点的运算时,Java中的双精度浮点类型 `double` 的精度问题往往会导致意料之外的结果。 **题目描述**: 假设有一个简单的程序,其目的是计算使用2美元支付1.10美元物品后应找回的零钱金额。...

Global site tag (gtag.js) - Google Analytics