【工具类】Java 加减乘除算法工具类

这篇具有很好参考价值的文章主要介绍了【工具类】Java 加减乘除算法工具类。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

import org.springframework.stereotype.Component;
import java.math.BigDecimal;

/**
 * @类描述: 一个工具类,为了保证计算准确性,将double之间的运算转换为BigDecimal之间的运算
 */
@Component
public class Mutil {
    /**
     * * @描述: 加法
     * * @方法名: add
     * * @param v1
     * * @param v2
     * * @return
     * * @返回类型 double
     */
    public static double add(double v1, double v2) {
        BigDecimal b1 = new BigDecimal(Double.toString(v1));
        BigDecimal b2 = new BigDecimal(Double.toString(v2));
        return b1.add(b2).doubleValue();
    }

    /**
     * * @描述: 减法
     * * @方法名: subtract
     * * @param v1
     * * @param v2
     * * @return
     * * @返回类型 double
     */
    public static double subtract(double v1, double v2) {
        BigDecimal b1 = new BigDecimal(Double.toString(v1));
        BigDecimal b2 = new BigDecimal(Double.toString(v2));
        return b1.subtract(b2).doubleValue();
    }

    /**
     * * @描述: 乘法
     * * @方法名: mul
     * * @param d1
     * * @param d2
     * * @return
     * * @返回类型 double
     */
    public static double multiply(double d1, double d2) {// 进行乘法运算
        BigDecimal b1 = new BigDecimal(d1);
        BigDecimal b2 = new BigDecimal(d2);
        return b1.multiply(b2).doubleValue();
    }

    /**
     * * @描述: 除法 ,四舍五入
     * * @方法名: div
     * * @param d1
     * * @param d2
     * * @param len ,保留的小数位数
     * * @return
     * * @返回类型 double
     */
    public static double divide(double d1, double d2, int len) {// 进行除法运算
        BigDecimal b1 = new BigDecimal(d1);
        BigDecimal b2 = new BigDecimal(d2);

        return b1.divide(b2, len, BigDecimal.ROUND_HALF_UP).doubleValue();
    }

    /**
     * @param d1
     * @param d2
     * @return
     * @描述: 除法,四舍五入取整数 ,例如:5/2=3(2.5四舍五入); 5/3=2(1.6四舍五入);
     * @方法名: div
     * @返回类型 double
     */
    public static double divide(double d1, double d2) {// 进行除法运算
        BigDecimal b1 = new BigDecimal(d1);
        BigDecimal b2 = new BigDecimal(d2);
        return b1.divide(b2, BigDecimal.ROUND_HALF_UP).doubleValue();
    }

    /**
     * * @描述: 四舍五入
     * * @方法名: round  * @param d
     * * @param len
     * * @return
     * * @返回类型 double
     */
    public static double round(double d, int len) {
        BigDecimal b1 = new BigDecimal(d);
        BigDecimal b2 = new BigDecimal(1);
        // 任何一个数字除以1都是原数字
        // ROUND_HALF_UP是BigDecimal的一个常量,表示进行四舍五入的操作
        return b1.divide(b2, len, BigDecimal.ROUND_HALF_UP).doubleValue();
    }


}

文章来源地址https://www.toymoban.com/news/detail-546361.html

到了这里,关于【工具类】Java 加减乘除算法工具类的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 【c++】算法:高精度(经典加减乘除){含解析(图解)}

    【c++】算法:高精度(经典加减乘除){含解析(图解)}

    Hi~ o(* ̄▽ ̄*)ブ,今天来一起看看c++算法之高精度 之后会持续更新有关c++算法系列,欢迎观看!(#^.^#) 目录 前言 使用高精度的目的: 基本方法介绍:   一、A+B problem 基本思路解析: 具体步骤: 代码如下: 二、A-B problem 基本思路解析: ​编辑 具体步骤:  代码如下:  三

    2024年01月23日
    浏览(13)
  • C/C++ 高精度(加减乘除)算法二进制优化

    C/C++ 高精度(加减乘除)算法二进制优化

    第一章 简单实现 第二章 压位优化 第三章 二进制优化(本章) 上一章《C/C++ 高精度(加减乘除)算法压位优化》实现了优化的高精度计算,采用int32的整型数组每个元素可以储存9个10进制数字,想要再进一步优化计算速度,可以改变数据存储方式,采用二进制存储数字。依然采

    2024年02月11日
    浏览(11)
  • 加减乘除简单吗?不,一点都不,利用位运算实现加减乘除(代码中不含+ - * /)

    加减乘除简单吗?不,一点都不,利用位运算实现加减乘除(代码中不含+ - * /)

    这也是阿辉开的新专栏,知识将会很零散不成体系,不过绝对干货满满,今天这一篇 利用位运算实现加减乘除 费了阿辉九牛二虎之力,干的很自备饮水😆不多bb,进入今天的学习吧!!! 以下int均为有符号int,所求的加减乘除也是int类型的整型数 严谨 😏 在写加减乘除之前

    2024年02月03日
    浏览(10)
  • 不用加减乘除做加法

    不用加减乘除做加法

    写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号,本题OJ链接 数据范围:两个数都满足 −10≤n≤1000 进阶:空间复杂度 O(1),时间复杂度 O(1) 分析 :本题要求不能使用+、-、*、/,所以我们应该从二进制的角度去考虑,因为二进制的加法可以通

    2024年02月10日
    浏览(12)
  • bigdecimal加减乘除运算

    打印的结果如下: 打印结果如下: 打印结果如下:

    2024年02月11日
    浏览(10)
  • 高精度(加减乘除)

    高精度的核心思想就是利用数组去储存大数,然后通过模拟手动计算的方式,来进行计算。 主要分三个模块: 1.读入数据并转换为(int)类型储存 核心思想:将每个位上的数字都+起来,如果大于10就进位。 核心代码如下: 完整代码及解析如下: 减法核心:只使用大数减小数

    2024年02月08日
    浏览(13)
  • 图像四则运算(加减乘除)

    图像四则运算(加减乘除)

    实验目的: 1.了解图像的算术运算在数字图像处理中的初步应用。 2.体会图像算术运算处理的过程和处理前后图像的变化。 3.能够实现简单的图像处理 实验原理: 图像的代数运算包括加,减,乘,除,这些运算的主要对象是图像数据块中的数据。这四种代数运算可以由如

    2024年02月08日
    浏览(8)
  • C语言加减乘除运算

    加减乘除是常见的数学运算,C语言当然支持,不过,C语言中的运算符号与数学中的略有不同,请见下表。 加法 减法 乘法 除法 求余数(取余) 数学 + - × ÷ 无 C语言 + - * / % C语言中的加号、减号与数学中的一样,乘号、除号不同;另外C语言还多了一个求余数的运算符,就是

    2024年02月06日
    浏览(8)
  • 只使用位运算实现加减乘除

    只使用位运算实现加减乘除

    在线OJ: LeetCode 29. 两数相除 原题目的要求是不能使用乘法, 除法和取余运算符实现除法. 在本篇博客中把题目要求提高一点, 这里只使用位运算来实现, 顺便的也就把只使用位运算实现加减乘除实现了. 首先我们需要知道两数之和可以是两个数位相加和不进位相加之和, 而两数进

    2024年02月06日
    浏览(32)
  • Rust 复数运算,重载加减乘除运算

    Rust 复数运算,重载加减乘除运算

    复数定义 由实数部分和虚数部分所组成的数,形如a+bi 。 其中a、b为实数,i 为“虚数单位”,i² = -1,即虚数单位的平方等于-1。 a、b分别叫做复数a+bi的实部和虚部。 当b=0时,a+bi=a 为实数; 当b≠0时,a+bi 又称虚数; 当b≠0、a=0时,bi 称为纯虚数。 实数和虚数都是复

    2024年02月13日
    浏览(9)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包