`

java > 加法,减法

    博客分类:
  • java
 
阅读更多
/*
* 创建日期 2004-10-14
*
* 如果需要精确计算,非要用String来够造BigDecimal不可
*/
package com.lims.actions.testqc.comm;
/**
* @author Jstar
*
*
* 窗口 > 首选项 > Java > 代码生成 > 代码和注释
*/
import java.math.BigDecimal;
/**
* 由于Java的简单类型不能够精确的对浮点数进行运算,这个工具类提供精
* 确的浮点数运算,包括加减乘除和四舍五入。
*/
public class Arith {
//默认除法运算精度
private static final int DEF_DIV_SCALE = 10;
//这个类不能实例化
private Arith() {
}
/**
  * 提供精确的加法运算。
  * @param v1 被加数
  * @param v2 加数
  * @return 两个参数的和
  */
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();
}
/**
  * 提供精确的减法运算。
  * @param v1 被减数
  * @param v2 减数
  * @return 两个参数的差
  */
public static double sub(double v1, double v2) {
  BigDecimal b1 = new BigDecimal(Double.toString(v1));
  BigDecimal b2 = new BigDecimal(Double.toString(v2));
  return b1.subtract(b2).doubleValue();
}
/**
  * 提供精确的乘法运算。
  * @param v1 被乘数
  * @param v2 乘数
  * @return 两个参数的积
  */
public static double mul(double v1, double v2) {
  BigDecimal b1 = new BigDecimal(Double.toString(v1));
  BigDecimal b2 = new BigDecimal(Double.toString(v2));
  return b1.multiply(b2).doubleValue();
}
/**
  * 提供(相对)精确的除法运算,当发生除不尽的情况时,精确到
  * 小数点以后10位,以后的数字四舍五入。
  * @param v1 被除数
  * @param v2 除数
  * @return 两个参数的商
  */
public static double div(double v1, double v2) {
  return div(v1, v2, DEF_DIV_SCALE);
}
/**
  * 提供(相对)精确的除法运算。当发生除不尽的情况时,由scale参数指
  * 定精度,以后的数字四舍五入。
  * @param v1 被除数
  * @param v2 除数
  * @param scale 表示表示需要精确到小数点以后几位。
  * @return 两个参数的商
  */
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 b = new BigDecimal(Double.toString(v));
  BigDecimal one = new BigDecimal("1");
  return b.divide(one, scale, BigDecimal.ROUND_HALF_UP).doubleValue();
} 

 

** 其中 格式 DecimalFormat df = new DecimalFormat("#.00");

df.format(doubleAmount);

 

分享到:
评论

相关推荐

    java程序复数的加法减法和比较运算

    用java语言编写一个复数类,要求有实部,虚部,实现复数加法减法和比较运算

    高精度加法减法乘法除法

    本主题将详细探讨高精度加法、减法、乘法和除法的实现方法及其背后的原理。 首先,我们要理解常规的计算机数据类型如int和float的局限性。int类型在大多数系统中通常只能存储32位或64位的整数,对于较大的数值,会...

    java生成随机加减法的图形验证码

    本话题主要关注如何使用Java生成包含随机加减法问题的图形验证码。这种验证码不仅增加了安全性,还为用户提供了验证他们是否为人类的互动方式。 首先,`IdentifyingCode.java`可能是一个类,它代表验证码对象,包含...

    JAVA大数加法与乘法

    它支持任意大小的整数,可以进行加法、减法、乘法、除法以及更多复杂的数学运算。`BigInteger`对象不存储在固定长度的二进制补码表示中,而是使用一种动态增长的数据结构,这使得它能够处理极其大的数字。 1. **...

    基于单链表的加法减法的设计

    在本课程设计中,主题是“基于单链表的加法减法的设计”,主要关注的是如何利用数据结构,特别是单链表,来实现一元多项式的加法和减法操作。设计的核心在于理解和运用链表结构,以有效地存储和处理一元多项式。 ...

    编写计算器类,实现加法、减法操作,使用JAVA反射机制动态调用计算器对象的加法,减法函数

    编写计算器类,实现加法、减法操作 使用JAVA反射机制动态调用计算器对象的加法,减法函数

    一元多项式的加法、减法、乘法

    使用链表来实现单元多项式的加法、减法、乘法。其中,加法是其它运算的基础,减法:poly1-poly2=poly1+(-poly2),乘法:poly1*poly2,可用poly1乘以poly2的每一项,相加其乘积结果。

    批量生成100以内的加法/减法算式基、批改练习并存储

    使用java代码实现《批量生成100以内的加法/减法算式基、批改练习并存储》 实现生成习题 进一步按照类型生成习题 再进一步存储读取习题 最终选择类型生成习题并进行存储以及批改练习 采用层层递进,最终成完整的小...

    设计任意两个复数实现4则运算(复数加法、减法、乘法、除法)的Web程序。

    在本项目中,我们将设计一个基于Web的程序,允许用户执行复数的加法、减法、乘法和除法运算。复数是由实部和虚部组成的数学对象,其形式为a + bi,其中a是实部,b是虚部,i是虚数单位,满足i² = -1。在Web开发中,...

    大整数加法减法 完整算法 写一个表示大整数(>2256)的对象( C++或Java),能实现 +,-,*,/(运算符重载)(

    本篇文章将重点讨论大整数的加法和减法算法,并演示如何在Java中通过运算符重载来实现这些功能。 首先,我们创建一个名为`Bigint`的类,它包含两个成员变量`op1`和`op2`,分别用于存储两个大整数的字符串表示,以及...

    java 矩阵的减法

    在Java编程语言中,矩阵的减法是一种基本的线性代数操作,它涉及两个相同大小的矩阵,通过逐元素相减得到一个新的矩阵。这里我们将深入探讨如何在Java中实现矩阵的减法,并通过示例代码来理解其工作原理。 首先,让...

    java 大数加减法及乘法

    Java提供了一个内置的类`BigInteger`,用于进行任意精度的整数运算,包括加法、减法和乘法。`BigDecimal`类则用于处理带有小数点的大数。下面我们将详细讨论如何实现这些操作。 1. **大数加法**: `BigInteger`类...

    Java计算器的加法实现

    在Java编程语言中,实现一个简单的计算器来执行加法操作是一项基础任务,它涉及到基本的算术运算和控制流程。本篇文章将详细讲解如何在Java中实现加法计算器。 首先,我们需要了解Java中的数据类型,特别是`int`...

    java 控制台实现小学数学加减法题目随机生成并在计算后给出得分【源码+报告】

    可以选择考试类型:1、练习 2、测试 可以选择计算类型:01、一位数的加法或减法 02、两位数的加法或减法 03、混合计算 04、程序结束 根据选择的计算类型,会随机生成不同位数的加减法题目 计算之后,会给出得分

    JAVA泛型加减乘除

    这是一个使用JAVA实现的泛型编程,分为两部分,第一部分创建泛型类,并实例化泛型对象,得出相加结果。 第二部分用户自行输入0--4,选择要进行的加减乘除运算或退出,再输入要进行运算的两个数,并返回运算结果及...

    matrix-java:基本矩阵运算,即加法、减法和乘法

    #Class - Matrix ##作者:Aunn Raza | BSCS2B | 01248 矩阵类提供基本的矩阵运算功能,即加法、减法和乘法。 #矩阵运算(方法) 以下是类方法的原型和描述。 ##matrixAddition(matrixA , matrixB) 矩阵加法将两个...

    JAVA反射机制动态调用 计算器对象的加法,减法函数;JAVA反射机制修改一个学生对象 的私有数据成员

    在这个场景中,我们将讨论如何利用反射来动态调用计算器对象的加法和减法函数,以及如何修改一个学生对象的私有数据成员。 首先,让我们深入理解Java反射机制。在Java中,`java.lang.Class`类是所有类的通用表示,...

    Java反射机制的动态调用计算器的加法,减法函数;修改一个学生对象的私有数据成员

    在给定的场景中,我们利用反射机制实现了动态调用计算器的加法和减法函数,并修改了学生对象的私有数据成员。下面将详细讲解这些知识点。 首先,让我们关注`Calculator`类中的加法和减法函数。假设`Calculator`类有...

    osgi服务(加法和乘法)

    综上所述,这个压缩包文件可能包含两个Java项目或bundle,分别实现了加法和乘法的运算逻辑,并封装为OSGi服务。使用者可以通过启动对应的bundle来选择执行加法还是乘法运算,展示了OSGi框架在动态服务发现和交互方面...

    java算术练习题生成系统

    1. 主菜单 请输入加减乘除运算符 + ----加法 - ----减法 * ----乘法 / ----除法 e ----退出 2.功能要求 1.生成算术表达式如下 23+3=? 2.验证模块 输出 "正确" "错误" 3.将运算结果保存到文件

Global site tag (gtag.js) - Google Analytics