`

java中的Double型加减乘除

    博客分类:
  • java
阅读更多


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());
}
}



分享到:
评论

相关推荐

    java double加减乘除类

    提供double的精准加减乘除,很方便,可保留多为小数

    Java 加减乘除工具类(解决精度损失问题)

    唔,其实里面就是一个工具类,加减乘除、保留两位小数。一共5个方法。。。emmmm.....为啥分这么高呢。因为宝宝想分想疯了。 附代码,有土豪就打赏打赏,没土豪的直接拿去使吧。 package cn.cisdom.base.utils; ...

    BigDecimal 加减乘除运算

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

    Java中BigDecimal的加减乘除、比较大小与使用注意事项

    对于不需要任何准确计算精度的数字可以直接使用float或double,但是如果需要精确计算的结果,则必须使用BigDecimal类,而且使用BigDecimal类也可以进行大数的操作,下面这篇文章给大家介绍了Java中BigDecimal的加减...

    java编写的计算器,能实现加减乘除

    java编写的计算器,能实现加减乘除。 //***该梦幻计算器与Windows附件自带计算器的标准版功能、界面相仿***// //******但还不支持键盘操作,如有需要,下一次等级将满足你**********// import java.awt.*; import ...

    java中BigDecimal进行加减乘除的基本用法

    大家应该对于不需要任何准确计算精度的数字可以直接使用float或double运算,但是如果需要精确计算的结果,则必须使用BigDecimal类,而且...下面这篇文章就给大家介绍介绍关于java中BigDecimal进行加减乘除的基本用法。

    分数的加减乘除运算Rational Numbers

    例如1/3=0.0000…,它不能使用数据类型double或float的浮点格式精确表示出来,为了得到准确结果,必须使用有理数。 – Java提供了整数和浮点数的数据类型,但是没有提供有理数的类型。 – 由于有理数与整数、...

    java编写一个类,该类可以进行加、减、乘、除四则运算,并且输出运算结果

    (2)编写一个包含主方法main的公共类(访问权限为public的类),主方法main中完成的任务是:从键盘上输入两个运算数(double 类型)和一个运算符(char 类型),使用(1)中的类输出运算结果(保留两位小数)。...

    多则运算表达式包括括号加减乘除

    因为中间的变量都是用的int型,所以对除法运算可能有时不能支持,但你只要自己把所有的变量都改为float或者double就能解决问题。

    利用Java输入输出流编程实现计算器

    (4)从第一个文件中取第一个操作数,从第二个文件中取第二个操作数,将其按照第三步中选择的运算做加减乘除后存入到第三个文件中。 (5)从第三个文件中读取出运算结果。 其他要求: (1)要求处理double型或float...

    DoubleMathUtils.java

    double 数据加减乘除,取精度,保留指定小数位数 四舍五入,将货币元-转为-分,double 数据加减乘除,取精度,保留指定小数位数 四舍五入,将货币元-转为-分

    Java中使用的常用数学类

    由于Java的简单类型不能够精确的对浮点数进行运算,这个工具类提供 精确的浮点数运算,包括加减乘除和四舍五入,以及百分数转换。

    凸包的JarvisMarch算法java实现

    比较完美,算法的实现很简洁,只有加减乘除的基本运算,程序运行效率很高,计算10万个点的运行时间大概20秒左右。适当增加Point类中的屏幕范围,可以实现更多的点的运算。将x,y修改成double类型可以获得更多。代码...

    java实现复数操作

    实现对复数的加减乘除等操作,java课程实验作业,方法有void setRealPart(double d) {} void setImaginPart(double d) {} int complexAdd(ComplexNumber c) {} int complexMinus(ComplexNumber c) {} int ...

    用JAVA实现复数的四则运算

    import java.io.*; public class Book{ double sb; double xb; Book(double x,double y){ this.sb=x; this.xb=y; } Book(){ } public static void main(String args[]){ System.out.println("请...

    用Java编写一个简易的计算器.zip

    java课上写的计算器,能够实现输入一行计算公式,进行简单的加减乘除,数据类型double类型,没有制作图形化界面。

    java的用来处理数字方面的逻辑工具类

    * 如返回指定位数的随机数字、Double的加减乘除精确运算、指定位数数字用“0”补齐 * @autho: Administrator * @date: 2013-6-7 下午02:26:27 * @alter: Administrator * @alterDate: 2013-6-7 下午02:26:27 ...

    java四则运算

    一个java类,该类可以进行加、减、乘、除四则运算,并且可以输出运算结果。此外,对于除法,如果被除数为0,该类可以报错。对于加、减、乘、除之外的运算符,该类应该告知无法处理。 编写一个包含主方法main的公共类...

    使用JavaFX实现的中缀转后缀 计算器(可以负数小数点括号)期末作业满分答案,大量注释(行行注释保证看懂)

    实现了 有理数(可以负数,可以小数点)之间的加减法(允许包含括号的加减乘除) 允许负数带括号 利用BigDecimal 大数据类 来保证精度 例如Double 2-1.1=0.89999,在大数据类就无异常 例如 9+(-9)=0 9--6=15 9*...

Global site tag (gtag.js) - Google Analytics