java中 BigDecimal的类型的除法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中 BigDecimal的类型的除法相关的知识,希望对你有一定的参考价值。

100/30 = 3; 100和30都是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));  
      

参考技术A BigDecimal v1 = new BigDecimal(100);
BigDecimal v2 = new BigDecimal(30);
//结果 两位小数、四舍五入 更多详细精度计算方式请参考API BigDecimal-字段摘要
BigDecimal v3 = v1.divide(v2).setScale(2, BigDecimal.ROUND_HALF_UP);
参考技术B static BigDecimal a;
static BigDecimal b;
static BigDecimal c = null;
public static void main(String[] args)
a = new BigDecimal(100);
System.out.println(a);
b = new BigDecimal(30);
参考技术C BigDecimal b1 = new BigDecimal("100");
BigDecimal b2 = new BigDecimal("30");
BigDecimal b3 = b1.divide(b2,0,BigDecimal.ROUND_HALF_EVEN);
System.out.println(b3);本回答被提问者采纳

以上是关于java中 BigDecimal的类型的除法的主要内容,如果未能解决你的问题,请参考以下文章

BigDecimal 高精度计算 熟悉扩展,java除法保留小数问题

java的bigdecimal类的用法

mybatis bigdecimal 对应啥类型

bigdecimal类型除法问题

关于BigDecimal类型在jsp页面中进行除法运算问题

关于BigDecimal类型在jsp页面中进行除法运算问题