java中 BigDecimal的类型的除法?

如题所述

package cn.itcast_02;  
  
import java.math.BigDecimal;  
  
/* 
 * 构造方法: 
 *      public BigDecimal(String val): 
 *  
 * 金融相关的东西(例:银行钱的小数,商品价格小数,实验小数) 
 *  
 * 成员方法: 
 *      public BigDecimal add(BigDecimal augend):加 
 *      public BigDecimal subtract(BigDecimal subtrahend):减 
 *      public BigDecimal multiply(BigDecimal multiplicand):乘 
 *      public BigDecimal divide(BigDecimal divisor):除 
 *      public BigDecimal divide(BigDecimal divisor,int scale,int roundingMode):商,几位小数,如何舍取。 
 *       
 */  
public class BigDecimalDemo {  
    public static void main(String[] args) {  
        System.out.println(0.09 + 0.01);  
        System.out.println(1.0 - 0.32);  
        System.out.println(1.015 * 100);  
        System.out.println(1.301 / 100);  
  
        // public BigDecimal add(BigDecimal augend):加  
        BigDecimal bd1 = new BigDecimal("0.09");  
        BigDecimal bd2 = new BigDecimal("0.01");  
        System.out.println("add:" + bd1.add(bd2));  
        System.out.println("----------------------");  
        // public BigDecimal subtract(BigDecimal subtrahend):减  
        BigDecimal bd3 = new BigDecimal("1.0");  
        BigDecimal bd4 = new BigDecimal("0.32");  
        System.out.println("subtract:" + bd3.subtract(bd4));  
        System.out.println("----------------------");  
        // public BigDecimal multiply(BigDecimal multiplicand):乘  
        BigDecimal bd5 = new BigDecimal("1.015");  
        BigDecimal bd6 = new BigDecimal("100");  
        System.out.println("multiply:" + bd5.multiply(bd6));  
        System.out.println("----------------------");  
        // public BigDecimal divide(BigDecimal divisor):除  
        BigDecimal bd7 = new BigDecimal("1.301");  
        BigDecimal bd8 = new BigDecimal("100");  
        System.out.println("divide:" + bd7.divide(bd8));  
        System.out.println("divide:" + bd7.divide(bd8,3,BigDecimal.ROUND_HALF_UP));  
        System.out.println("divide:" + bd7.divide(bd8,9,BigDecimal.ROUND_HALF_UP));  
    }  
}

温馨提示:内容为网友见解,仅供参考
无其他回答

java中bigdecimal类型的变量如何相互加减乘除?
1)BigDecimal sub = ma.subtract(mb);2)System.out.println("减法:"+sub);3、\/\/ 乘;1)BigDecimal mul = mb.multiply(md);2)System.out.println("乘法:"+mul);4、\/\/ 除 1)BigDecimal div = mb.divide(md);2)System.out.println("除法:"+div);3)System.out.println("==="...

java中 BigDecimal的类型的除法?
package cn.itcast_02; import java.math.BigDecimal; \/* * 构造方法: * public BigDecimal(String val): * * 金融相关的东西(例:银行钱的小数,商品价格小数,实验小数) * * 成员方法: * public BigDecimal add(BigDecimal augend):加 * public BigDecimal subtract(...

bigdecimal怎么加减乘除?
(1)BigDecimal mul = mb.multiply(md)(2)System.out.println("乘法:"+mul)4、\/\/ 除:(1)BigDecimal div = mb.divide(md)(2)System.out.println("除法:"+div)BigDecimal一共有4个构造方法:BigDecimal(int) 创建一个具有参数所指定整数值的对象。BigDecimal(double) 创建一个具有参数所...

bigdecimal加减乘除运算是什么?
除法运算是BigDecimal处理起来最为复杂的一种运算。由于浮点数的精度问题,直接使用浮点数进行除法可能会导致结果不准确。而BigDecimal类提供的divide方法可以进行高精度的除法运算。这个方法允许指定除法的精度和舍入模式,以确保结果的准确性。当结果超过指定的精度时,可以选择截断或进行四舍五入等处理。总结...

java的bigdecimal类的用法
double 类型的值。必须改用传入String的构造方法。除法divide()参数使用;使用除法函数在divide的时候要设置各种参数,要精确的小数位数和舍入模式,不然会出现报错。Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数。

bigdecimal加减乘除有哪些?
BigDecimal除法可能出现不能整除的情况,比如 4.5\/1.3,这时会报错java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result。其实divide方法有可以传三个参数:public BigDecimal divide(BigDecimal divisor, int scale, int roundingMode) 第一参数表示除数, ...

java中bigdecimal 类型的变量怎么相互加减乘除
import java.math.BigDecimal;public class Test { public static void main(String[] args) { \/\/ BigDecimal是处理double精度问题的对象 BigDecimal b1 = new BigDecimal("10"); BigDecimal b2 = new BigDecimal("10"); \/\/ 结果 BigDecimal result = null; \/\/ 加 ...

BigDecimal类(乘除方法)
关键点在于,要熟练掌握BigDecimal的乘除法技巧。特别是当处理精度控制时,学会结合除法来实现指定小数位数的四舍五入。在学习过程中,我通常采取系统化的方法,比如阅读电子书籍。我通常只是简单浏览目录和前几章的内容,深入学习通常会在实际项目中遇到问题时进行。我涉猎的书籍种类广泛,包括Java基础知识、...

bigdecimal加减乘除运算顺序
说到divide()函数,它在进行除法运算时,需要特别注意设置参数,如所需的精确小数位数和舍入模式,否则可能导致错误。这是因为Java中的BigDecimal类被设计用来处理超过double类型精度的数值,特别是那些无法精确表示的超大或超小数值。总结来说,bigdecimal的运算顺序是以精度为前提,需要合理运用其构造方法和...

java中BigDecimal 的加减乘除和“+”“-”“*”“\/”有什么区别_百度知 ...
BigDecimal aDouble =new BigDecimal(1.22); 输出:1.2199999999999999733546474089962430298328399658203125 BigDecimal aString = new BigDecimal("1.22"); 输出:1.22 以上两者输出结果是不一样的。 原因: double的构造方法有不可预知性。 String的构造方法是固定的值。 所以如果类型是Double的话,而且需要精确计算,就用下面方法...

相似回答