javabigdecimal除法

java的bigdecimal类的用法

bigdecimal加减乘除运算顺序如下:

首先是bigdecimal的初始化,加法 add()函数、减法subtract()函数、乘法multiply()函数、除法divide()函数、绝对值abs()函数。

注意:

1)System.out.println()中的数字默认是double类型的,double类型小数计算不精准。

2)使用BigDecimal类构造方法传入double类型时,计算的结果也是不精确的!

因为不是所有的浮点数都能够被精确的表示成一个double 类型值,有些浮点数值不能够被精确的表示成 double 类型值,因此它会被表示成与它最接近的 double 类型的值。必须改用传入String的构造方法。

除法divide()参数使用;

使用除法函数在divide的时候要设置各种参数,要精确的小数位数和舍入模式,不然会出现报错。

Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数。

java中bigdecimal类型的变量如何相互加减乘除?

1、// 加;

1)BigDecimal add = ma.add(mb);

2)System.out.println(“加法:”+add);

2、// 减;

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(“===================”);

4)mc = mc.setScale(2, BigDecimal.ROUND_HALF_UP);

5)System.out.println(“四舍五入:”+mc);

6)System.out.println(“===================”);

7)mc = mc.negate();

8)System.out.println(“负数:”+mc);

9)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 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));  

    }  

}

javabigdecimal除法

本文来自投稿,不代表【】观点,发布者:【

本文地址: ,如若转载,请注明出处!

举报投诉邮箱:253000106@qq.com

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2024年3月27日 15:07:40
下一篇 2024年3月27日 15:12:54

相关推荐

  • win10excel除法公式,excl里除法公式

    excel自动求除法公式 1、使用自动除法步骤1:创建一个Excel工作表,填入数值数值二两列,开始进行第三列的除法数值计算。使用自动除法步骤2:将鼠标放到想要求除法数值结果的格内,在Excel工作表上部找到fx选项,在其后填入=A2/B2。 2、首先进入excel表格后,在此以计算C1单元格除法结果为例。选中C1单元格。然后双击此单元格,并在单元格内输入【…

    2024年5月19日
    3600
  • javabigdecimal序列化,java序列化实现

    请问,java里,如何把BigDecimal类型转成Integer 1、可以使用强制转换来语句来实现数据类型从Long类型转换成Integer或int类型。 2、自动类型转换 自动类型转换,也称隐式类型转换,是指不需要书写代码,由系统自动完成的类型转换。由于实际开发中这样的类型转换很多,所以Java语言在设计时,没有为该操作设计语法,而是由JVM自动完成。 …

    2024年5月18日
    4100
  • c语言%整数,c语言整数除法

    c语言取整符号怎么写 向下取整的运算称为Floor,用数学符号表示,与之相对的,向上取整的运算称为Ceiling,用数学符号表示。 直接赋值给整数变量。如:int i = 5;或 i = (int)5;这种方法采用的是舍去小数部分,可以用于你的问题。c/c++中的整数除法运算符/本身就有取整功能(int / int),而下面介绍的取整函数返回值是double…

    2024年5月15日
    7400
  • 欧几里得辗转相除法c语言,欧几里得的辗转相除法

    欧几里得算法(辗转相除法) 欧几里得算法又称辗转相除法,是指用于计算两个非负整数a,b的最大公约数。应gfa用领域有数学和计算机两个方面。计算公式gcd(a,b) = gcd(b,a mod b)。欧几里得算法和扩展欧几里得算法可使用多种编程语言实现。 欧几里德算法又称辗转相除法,用于计算两个正整数a,b的最大公约数。这是数论和代数学中的重要方法。 欧几里得…

    2024年5月13日
    3800
  • c语言整型除以小数点,c语言整型数除法

    C语言中的除法,怎么才能得到有小数点的确切数字 1、可以利用C语言的强制转换规则。C语言规定,当浮点数强制转换为整型类型时,只保留整数部分。所以对于浮点数,比如float类型a, 执行(int)a后的值就是整数部分。这样当执行a-(int)a时,得到的就是小数部分的值了。 2、ds=(float)a/(float)b;//加上类型转换就可以了。 3、在C语言…

    2024年5月12日
    4400
  • 单片机c语言除法,单片机除以0

    51单片机带小数的多字节乘除运算 对于多字节数,估计你不会直接保存成数值而是要保存成字符串了吧,当然如果你保存成数值的话通过连续乘10直到结果为整数的方法计算小数点后的位数,对于小数相乘来说,两个数的小数点位数相加就是结果的小数点位数。 MOV A,#36 MOV B,7FH MUL AB;36 * [7FH]。 M可以了。1000条指令不算多。一条指令平均…

    2024年5月12日
    4700
  • c语言除法余数,c语言除法余数怎么表示

    c语言除法运算 1、c语言中除法运算规则如下:整数除法:如果两个操作数都为整数类型,那么除法运算得到的结果也是整数类型,即舍去小数部分。例如,5/2的结果是2。 2、在 C 语言中,两个整数相除的结果分为两种情况:如果两个整数都是整型,那么它们相除的结果也是整型,结果将向 0 取整,即舍弃小数点后的数值。例如:int a = 7, b = 3, c; c =…

    2024年5月11日
    4400
  • javabigdecimal减法,java代码实现减法

    为什么这个JAVA减法会出错呢 1、接着做减法运算,因为左边数据类型为字符串,所以报错。 2、java中byte在内存中实际上是用int运算的。b取反后,会自动变成int类型。加法、减法,都一样,byte会自动变成int类型。所以会报错。而~10可以,这是java字面量编译原则,会先将~10计算出来。 3、因为int型的级别比 byte的级别高,同样的道理,…

    2024年5月10日
    4000
  • c语言带void,c语言带余除法怎么表示

    c语言中void什么意思 1、void 被翻译为无类型,相应的void * 为无类型指针。常用在程序编写中对定义函数的参数类型、返回值、函数中指针类型进行声明。void 的作用 对函数返回的限定,这种情况我们比较常见。 2、c语言中,void的意思是“无类型”,相应的“void *”为无类型指针,常用在程序编写中对定义函数的参数类型、返回值、函数中指针类型进…

    2024年5月9日
    4200
  • excel表格函数除法,excel表格函数公式大全教学

    怎样在EXCEL表格里计算除法 1、在EXCEL电子表格中没有专门的除法函数,在进行除法运算时除号是用“/”符号来表示的,这是在英文输入法状态下(即半角的)输入的斜杆符号。 2、excel的除法公式可以直接使用“/”符号,或者=PRODUCT(除数,1/被除数)。Excel除法函数是“=单元格/单元格”,想要在excel表格中使用除法函数,只需要在对应的方框…

    2024年5月9日
    4300

发表回复

登录后才能评论



关注微信