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 = BigDecimal.valueOf(v1);
BigDecimal b2 = BigDecimal.valueOf(v2);
return b1.add(b2).doubleValue();
}
/**
* 提供精确的减法运算。
* @param v1 被减数
* @param v2 减数
* @return 两个参数的差
*/
public static double sub(double v1,double v2)
{
BigDecimal b1 = BigDecimal.valueOf(v1);
BigDecimal b2 = BigDecimal.valueOf(v2);
return b1.subtract(b2).doubleValue();
}
/**
* 提供精确的乘法运算。
* @param v1 被乘数
* @param v2 乘数
* @return 两个参数的积
*/
public static double mul(double v1,double v2)
{
BigDecimal b1 = BigDecimal.valueOf(v1);
BigDecimal b2 = BigDecimal.valueOf(v2);
return b1.multiply(b2).doubleValue();
}
/**
* 提供(相对)精确的除法运算,当发生除不尽的情况时,精确到
* 小数点以后10位的数字四舍五入。
* @param v1 被除数
* @param v2 除数
* @return 两个参数的商
*/
public static double div(double v1,double v2)
{
BigDecimal b1 = BigDecimal.valueOf(v1);
BigDecimal b2 = BigDecimal.valueOf(v2);
return b1.divide(b2 , DEF_DIV_SCALE , BigDecimal.ROUND_HALF_UP).doubleValue();
}
public static void main(String[] args)
{
System.out.println("0.05 + 0.01 = " + Arith.add(0.05 , 0.01));
System.out.println("1.0 - 0.42 = " + Arith.sub(1.0 , 0.42));
System.out.println("4.015 * 100 = " + Arith.mul(4.015 , 100));
System.out.println("123.3 / 100 = " + Arith.div(123.3 , 100));
}
}
上网加速器利器,程序员必备!自己一直在用,有需要的朋友可以试试!
相关推荐
BigDecimal工具类 BigDecimal工具类是Java中用于高精确处理常用数学运算的工具类。该工具类提供了多种精确的数学运算方法,包括加法、减法、乘法和除法等。 在BigDecimal工具类中,我们可以看到多个重载的方法,...
先是通过方法名称确定返回值的类型(BigDecimal、Double、String),然后大量的重载方法,用“穷举法”把BigDecimal、Double、String、Integer四种类型进行各种形式的两两组合,进行加减乘除运算,运算时非...
总之,`BigInteger`和`BigDecimal`是Java中处理大整数和高精度浮点数的关键工具,它们的源代码为我们提供了深入学习和定制这两个类的机会。理解并掌握这些类的使用能极大地提升在处理数学计算时的精确性和效率。
在Java编程语言中,当我们处理涉及货币、财务或者任何需要高精度计算的场景时,`BigDecimal` 类是非常重要的工具之一。本文将深入探讨 `BigDecimal` 类的基本概念、特点以及如何使用它来进行精确的算术运算。 #### ...
BigDecimal运算封装,里面封装了Integer和BigDecimal的"加减乘除法运算封装
ArithmeticUtils用于高精确处理常用的数学运算工具类 提供精确的加法运算 提供精确的减法运算 提供精确的乘法运算 提供(相对)精确的除法运算,当发生除不尽的情况时,精确到小数点以后10位,以后的数字四舍五入 ...
复杂的BigDecimal计算,需要开方的式子,可输入结果精确位数
总之,Java中的BigDecimal类是处理精确数值计算的重要工具,尤其是在金融、会计等对精度要求极高的领域。通过使用其提供的各种构造方法和运算方法,开发者可以有效地控制计算过程中的精度,确保计算结果的正确性。...
Android 精确计算工具类。 /** * @Title: Arith.java * @Package com.uxun.pay.util * @Description: TODO(用一句话描述该文件做什么) * @author daiw * @date 2016-1-5 上午9:05:34 * @version V1.0 */ ...
BigDecimal 使用 BigDecimal 是 Java 中一个用于处理金融和商业应用的类,其主要功能是提供高精度的数字计算。...BigDecimal 是一个非常有用的工具类,能够提供高精度的数字计算,广泛应用于金融、商业等领域。
Java工具类是程序员在开发过程中经常使用的类库,它们提供了各种通用的功能,使得代码更加简洁、高效。在Java中,工具类通常是静态方法的集合,用于处理常见的编程任务,如字符串操作、数学计算、日期时间处理等。...
唔,其实里面就是一个工具类,加减乘除、保留两位小数。一共5个方法。。。emmmm.....为啥分这么高呢。因为宝宝想分想疯了。 附代码,有土豪就打赏打赏,没土豪的直接拿去使吧。 package cn.cisdom.base.utils; ...
在Java编程语言中,BigDecimal类是用于处理高精度、大范围浮点数的工具,它在需要精确计算的场景下非常关键。BigDecimal提供了避免浮点数运算中的精度损失的方法,适用于金融、会计等对精度有严格要求的领域。这篇...
9. **数学计算工具类**:例如`BigDecimal`用于高精度的浮点数运算,避免浮点数计算的误差问题。 10. **反射工具类**:如Java的`java.lang.reflect`包,允许程序在运行时检查和修改对象的行为。 在实际项目中,根据...
BigDecimal 类在 Java 中被设计用来处理高精度的浮点数运算,主要应用于财务、金融等领域,因为这些场景中对精度要求非常高。BigDecimal 提供了加法(add())、减法(subtract())、乘法(multiply())和除法...
总的来说,"js_bigdecimal_1_0_1.zip"为JavaScript开发者提供了一种解决大数精度问题的工具,使得在Web应用中进行精确计算成为可能。对于需要处理大量财务数据或需要精确计算的项目,这是一个非常有价值的库。
在Java编程语言中,BigDecimal是用于处理高精度和可配置精度的十进制数的类。在进行商业计算时,由于浮点数(double和float)存在精度问题,不能保证准确的结果,因此通常推荐使用BigDecimal来确保计算的精确性。本文...
为了提高开发效率,Java提供了一系列的工具类,这些类通常包含了各种实用方法,可以帮助开发者简化代码,提高代码的可读性和可维护性。下面将详细介绍这27个常用的Java工具类及其关键知识点。 1. **Arrays**: 这个...
Java工具类是编程实践中常用的辅助模块,它们提供了一系列静态方法,方便开发者进行常见的操作,比如字符串处理、日期时间操作、加密解密以及日志记录等。以下是对标题和描述中涉及知识点的详细解释: 1. **String...
"28个java常用的工具类源码"这个压缩包包含了在Java开发中经常用到的一些工具类,这些工具类可以帮助我们简化代码,提高开发效率。下面,我们将详细探讨这28个工具类可能涵盖的知识点。 1. **ArrayList 和 ...