以前大部分关于查询计算的逻辑是在sql语句中执行的,但是有时候会出现比较复杂的计算情况,需要我们在代码中进行计算,这个时候使用BigDecimal进行计算会很方便。

BigDecimal num1 = new BigDecimal("10");
BigDecimal num2 = new BigDecimal("5");
BigDecimal num3 = null; //加法
num3 = num1.add(num2);
System.out.println("num1+num2 = "+num3); //减法
num3 = num1.subtract(num2);
System.out.println("num1-num2 = "+num3); //乘法
num3 = num1.multiply(num2);
System.out.println("num1*num2 = "+num3); //除法
num3 = num1.divide(num2);
System.out.println("num1/num2 = "+num3);

  

计算完之后可能会出现小数的情况,这种情况下需要在相应的加减乘除方法上进行变化,取2位小数且四舍五入的话可以直接在方法后加上.setScale(2, BigDecimal.ROUND_HALF_UP);

BigDecimal num1 = new BigDecimal("10");
BigDecimal num2 = new BigDecimal("5");
BigDecimal num3 = null; //加法取2位小数且四舍五入
num3 = num1.add(num2).setScale(2, BigDecimal.ROUND_HALF_UP);

  

BigDecimal进行加减乘除计算的更多相关文章

  1. Java使用BigDecimal解决精确计算的问题

    最近有人在微信上给我发了一个数学题目,如下图: 我看了之后感觉很是简单,但是却想了半天才解出来.解出来后我想到了用程序再解一遍,然而精确计算的问题却让人头疼不已. 解题思路: 思路其实很简单,暴力求解 ...

  2. 平时没有怎么用Excel做 加减乘除 计算,猛地发现,其实Excel 是一个很好的简单计算器

    平时没有怎么用Excel做 加减乘除 计算,猛地发现,其实Excel 是一个很好的简单计算器

  3. BigDecimal加减乘除计算

    一.简述 java.math.BigDecimal不可变的.任意精度的有符号十进制数.BigDecimal 由任意精度的整数非标度值(unscaledValue)和32位的整数标度(scale)组成. ...

  4. BigDecimal类(精度计算类)的加减乘除

    BigDecimal类 对于不需要任何准确计算精度的数字可以直接使用float或double,但是如果需要精确计算的结果,则必须使用BigDecimal类,而且使用BigDecimal类也可以进行大数 ...

  5. 使用BigDecimal进行精确计算工具类

    package com.develop.util; import java.math.BigDecimal; import java.math.RoundingMode; public class M ...

  6. Java BigDecimal进行精确计算

    前言 float和double类型的主要设计目标是为了科学计算和工程计算.他们执行二进制浮点运算,这是为了在广域数值范围上提供较为精确的快速近似计算而精心设计的.然而,它们没有提供完全精确的结果,所以 ...

  7. BigDecimal 精准加减乘除

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

  8. BigDecimal的加减乘除

    Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算.双精度浮点型变量double可以处理16位有效数.在实际应用中,需要对更大或者更小的数进行 ...

  9. 价格BigDecimal的加减乘除、小数四舍五入、比较

    num2必须改用传入String类型 //加法 BigDecimal result1 = num1.add(num2); //减法 BigDecimal result2 = num1.subtract ...

随机推荐

  1. h5 实现页面上拉加载更多数据

    您好,您的上拉加载更多的代码来喽: html:(style部分:html部分:js部分--js部分主要就是监控上拉,调接口) //上拉加载更多css <style> .wait-loadi ...

  2. 用jmeter进行接口测试(2)

    1.jmeter配置元件之HTTP信息头管理器使用   右击线程组-[添加]-[HTTP信息头管理器] 是打发  Jmeter请求元件之参数化txt

  3. while循环练习:

    输入姑娘的年龄后,进行以下判断: 如果姑娘小于18岁,打印"不接受未成年" 如果姑娘大于18岁小于25岁,打印"心动表白" 如果姑娘大于25岁小于45岁,打印& ...

  4. 【shell】sed处理多行合并

    有这么一个题 文件格式 table=t1 name owner address table=t2 id text col1 comment col5 table=t3 prod_name price ...

  5. Shell-07数组与字符串

    Shell-07数组与字符串 数组 数组说白了就是一段连续的变量,一段连续的内存存储空间 解决:变量过多的问题:在同类的变量中,我们不需要去定义多个名字,而是以数组的方式来定义:(列表) 数组名 索引 ...

  6. CDOJ 1063 堆排序模板

    D - 秋实大哥与妹纸 Time Limit:1000MS     Memory Limit:1500KB     64bit IO Format:%lld & %llu Submit Sta ...

  7. SpringBoot 入门实战篇

    SpringBoot入门 使用SpringBoot + mysql + Jpa 快速搭建一个spring项目 Spring Boot 2 + Spring Data JPA + MySQL 8 簡單範 ...

  8. WinRAR 常用变量列表

    %SystemDrive%操作系统所在的分区号.如   C:%SystemRoot%操作系统根目录.如 C:\WINDOWS%windir%操作系统根目录.如 C:\WINDOWS%ALLUSERSP ...

  9. D. Restore Permutation

    D. Restore Permutation 就是给一个n个数的全排,然后bi记录比ai小且在排在ai前面的数的和,求ai 树状数组维护,二分 #include<bits/stdc++.h> ...

  10. [CSP-S模拟测试]:表达式密码(模拟)

    题目传送门(内部题87) 输入格式 从文件$expression.in$中读入数据.输入一行,一个字符串$S$,表示原表达式,保证为合法表达式 输出格式 输出到文件$expression.out$中. ...