import java.math.BigDecimal;
public class Arith {
private static final int DEF_DIV_SCALE = 10;
/**
* * 两个Double数相加 *
*
* @param v1 *
* @param v2 *
* @return Double
*/
public static Double add(Double v1, Double v2) {
BigDecimal b1 = new BigDecimal(v1.toString());
BigDecimal b2 = new BigDecimal(v2.toString());
return new Double(b1.add(b2).doubleValue());
}
/**
* * 两个Double数相减 *
*
* @param v1 *
* @param v2 *
* @return Double
*/
public static Double sub(Double v1, Double v2) {
BigDecimal b1 = new BigDecimal(v1.toString());
BigDecimal b2 = new BigDecimal(v2.toString());
return new Double(b1.subtract(b2).doubleValue());
}
/**
* * 两个Double数相乘 *
*
* @param v1 *
* @param v2 *
* @return Double
*/
public static Double mul(Double v1, Double v2) {
BigDecimal b1 = new BigDecimal(v1.toString());
BigDecimal b2 = new BigDecimal(v2.toString());
return new Double(b1.multiply(b2).doubleValue());
}
/**
* * 两个Double数相除 *
*
* @param v1 *
* @param v2 *
* @return Double
*/
public static Double div(Double v1, Double v2) {
BigDecimal b1 = new BigDecimal(v1.toString());
BigDecimal b2 = new BigDecimal(v2.toString());
return new Double(b1.divide(b2, DEF_DIV_SCALE, BigDecimal.ROUND_HALF_UP)
.doubleValue());
}
/**
* * 两个Double数相除,并保留scale位小数 *
*
* @param v1 *
* @param v2 *
* @param scale *
* @return Double
*/
public static Double div(Double v1, Double v2, int scale) {
if (scale < 0) {
throw new IllegalArgumentException(
"The scale must be a positive integer or zero");
}
BigDecimal b1 = new BigDecimal(v1.toString());
BigDecimal b2 = new BigDecimal(v2.toString());
return new Double(b1.divide(b2, scale, BigDecimal.ROUND_HALF_UP).doubleValue());
}
}
分享到:
相关推荐
提供double的精准加减乘除,很方便,可保留多为小数
Java提供了多种基本数据类型,包括`int`(整型)、`double`(双精度浮点型)和`float`(单精度浮点型),它们都支持加减乘除运算。例如: ```java int a = 5; int b = 3; int sum = a + b; // 加法 int ...
唔,其实里面就是一个工具类,加减乘除、保留两位小数。一共5个方法。。。emmmm.....为啥分这么高呢。因为宝宝想分想疯了。 附代码,有土豪就打赏打赏,没土豪的直接拿去使吧。 package cn.cisdom.base.utils; ...
在本例中,我们将探讨如何通过设计一个接口来实现两数之间的加、减、乘、除操作。 首先,我们创建一个名为`Calculator`的接口,该接口定义了四个方法:`add()`, `subtract()`, `multiply()`, 和 `divide()`,分别...
根据给定的文件信息,我们可以总结出以下关于Java实现加减乘除运算的相关知识点: ### 一、程序结构与组织 这段代码展示了一个简单的Java程序,用于执行基本的算术运算(加法、减法、乘法和除法)。程序通过用户...
这个项目"Java实现计算器加减乘除功能"旨在帮助开发者巩固面向对象编程、控制结构、运算符以及异常处理等基本技能。下面将详细介绍这个项目可能涉及的知识点。 1. **面向对象编程**:Java是一种面向对象的语言,...
Java中BigInteger的数学运算,BigDecimal 加减乘除运算,Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数。在实际应用中,需要对更大...
java编写的计算器,能实现加减乘除。 //***该梦幻计算器与Windows附件自带计算器的标准版功能、界面相仿***// //******但还不支持键盘操作,如有需要,下一次等级将满足你**********// import java.awt.*; import ...
本文将深入解析如何在Java中定义一个能够对任意两个整数执行加、减、乘、除运算的类,并展示如何设置私有成员变量以及调用这些运算方法来显示结果。 ### 类的设计与实现 #### 定义类:`Number` 首先,我们创建了一...
在这个"策略加减乘除运算"的示例中,我们将探讨如何运用策略模式实现基本的数学运算,包括加法、减法、乘法和除法。 首先,策略模式包含三个主要角色:上下文(Context)、策略接口(Strategy Interface)和具体...
总的来说,精确的加减乘除算法在Java编程中主要通过BigDecimal类来实现,它能够解决浮点数运算的精度问题,适用于金融、科学计算等对精度要求高的场景。使用这样的工具类,开发者可以避免因为数据类型的限制而产生的...
- **算术运算**: 根据文本区域中的表达式进行相应的加、减、乘、除运算。 - **清除操作**: 点击清除按钮(`C`)时清空文本区域的内容。 ```java public void actionPerformed(ActionEvent e) { if (e.getSource() ==...
"使用 Java 实现加减乘除运算" Java 语言是当前最流行的...使用 Java 语言实现加减乘除运算非常简单,只需要定义四种基本运算的方法,并在 main 函数中实例化该类,通过实例化的别名点方法名实现调用加减乘除的方法。
根据给定的信息,本文将详细解释如何在Java中实现矩阵的基本运算:加法、减法、乘法以及求逆操作。 ### 一、矩阵加法 矩阵加法是指两个相同维度的矩阵之间的相加操作。具体实现时,需要确保两个矩阵具有相同的行数...
本文将详细探讨如何使用Java语言实现一个简单的计算器,支持加减乘除、开方以及求倒数等功能。 首先,我们需要了解Java的基础语法和控制结构。Java是一种面向对象的编程语言,它的类和对象概念是实现功能的关键。在...
Java 实现加减乘除运算详解 Java 是一种流行的编程语言,广泛应用于移动应用、Web 开发、桌面应用等领域。在进行数据处理时,加减乘除运算是最基本也是最常用的操作之一。那么,如何使用 Java 实现加减乘除运算呢?...
这个"复数加减乘除"项目显然提供了一个用户界面,使得用户能够直观地进行复数运算。 复数由实部和虚部组成,通常表示为`a + bi`,其中`a`是实部,`b`是虚部,`i`是虚数单位,满足`i² = -1`。Java中的复数类可能...
在Java编程中,当涉及到需要精确数值计算的场景时,我们通常会使用`BigDecimal`类。这是因为`float`和`double`类型虽然适用于科学计算和工程计算,但它们基于二进制浮点运算,不能保证完全精确的结果。而`BigDecimal...
在Java编程中,处理用户输入的加减乘除表达式运算是一项常见的任务,尤其是在开发计算器或者涉及简单数学计算的应用中。这个主题涉及到多个关键知识点,包括输入输出处理、字符串解析、算术运算以及异常处理。以下是...
`BigDecimal`类提供了加减乘除等运算方法,确保了计算结果的精确性。本文将详细介绍如何使用`BigDecimal`实现加减乘除运算。 首先,`BigDecimal`有多种构造方法,这里主要提及两种: 1. `BigDecimal(double val)`:...