package mathDemo;

import java.math.BigDecimal;

/**

* 目标:封装加减乘除操作的自定义工具类

* 原因:float ,double 只能用来做科学计算或者工程计算,但在商业计算中要用java.math.BigDecimal

* 创建人: 李林君 邮箱:

* 创建日期: 2013-9-28

*

*

* @version 1.0

* @since NC5.7

*/

public class ArithUtil {

// 默认除法运算精度

private static final int DEF_DIV_SCALE = 10;

// 不能实例化

private ArithUtil() {

}

/**

* 说明:

* 提供精确的加法运算

* 创建人: 李林君 邮箱:

* 创建日期: 2013-9-28

*

* @param v1 被加数

* @param v2 加数

* @return 两个参数的和

*/

public static double add(double v1, double v2) {

BigDecimal b1 = new BigDecimal(Double.toString(v1));// 建议写string类型的参数,下同

BigDecimal b2 = new BigDecimal(Double.toString(v2));

return b1.add(b2).doubleValue();

}

/**

* 说明:

* 提供精确的减法运算

* 创建人: 李林君 邮箱:

* 创建日期: 2013-9-28

*

* @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();

}

/**

* 说明:

* 提供精确的乘法运算

* 创建日期: 2013-9-28

*

* @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位

* 创建人: 李林君 邮箱

* 创建日期: 2013-9-28

*

* @param v1

* @param v2

* @return

*/

public static double div(double v1, double v2) {

return div(v1, v2, DEF_DIV_SCALE);

}

/**

* 说明:

* 创建人: 李林君 邮箱:

* 创建日期: 2013-9-28

*

* @param v1

* @param v2

* @param scale

* @return

*/

private 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(Double.toString(v1));

BigDecimal b2 = new BigDecimal(Double.toString(v2));

return b1.divide(b2, scale, BigDecimal.ROUND_HALF_UP).doubleValue();// scale 后的四舍五入

}

} 本代码摘自《你必须知道的261个java问题》

java文档注释加减乘除,java精确的加减乘除相关推荐

  1. Java注释详解-Java文档注释生成Java API文档

    Java文档注释是一种功能强大的注释形式,如果在你所编写的程序中规范的添加文档注释,那你就可以生成一份系统正规的API文档.Java文档注释 /**文档注释内容*/,注意区分多行注释/*多行注释*/. ...

  2. java文档注释 编写格式

    java 文档注释 在sun主页上有java文档注释的编写格式 How to Write Doc Comments for the Javadoc Tool http://java.sun.com/j ...

  3. IDEA JAVA文档注释和方法注释模板

    IDEA JAVA文档注释和方法注释模板 文档注释 #if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${ ...

  4. Java文档注释用法+JavaDoc的使用详解

    Java文档注释+JavaDoc的使用详解 简介 文档注释负责描述类.接口.方法.构造器.成员属性.可以被JDK提供的工具 javadoc 所解析,自动生成一套以网页文件形式体现该程序说明文档的注释. ...

  5. java文档注释报错,java文档注释主要使用方法

    一.java包含哪些注释 1.//用于单行注释. 2./*...*/用于多行注释,从/*开始,到*/结束,不能嵌套. 3./**...*/则是为支持jdk工具javadoc.exe而特有的注释语句.这 ...

  6. 如何写Java文档注释(Java Doc Comments)

    本文翻译自How to Write Doc Comments for the Javadoc Tool,但是精简了一些私以为不重要的东西 本文不讨论如何使用javadoc工具自动生成文档的方法,而是主 ...

  7. Java文档注释【自制API】

    工具类的文档注释 工具类:一般都定义成静态的,只提供工具方法,没有特定数据,不需要构建对象. 为了保证不让其他成员创建对象,将无参的构造函数设置为私有化即可. 源文件: @author 作者 @ver ...

  8. java文档注释生产api没有注释_如何使用javadoc命令生成api文档,文档注释

    /** * 计算器工具类 * * @62616964757a686964616fe78988e69d8331333365646332author GaoHuanjie * @version V1.0 ...

  9. Java文档注释 - IDEA设置

    一. 概述 Java支持三种注释.前两种分别是 单行注释 // 和 多行注释 /* */ ,第三种是 文档注释 /** */. 在IDEA中,文档注释可以对类.接口.方法.属性等进行描述,提高阅读效率 ...

  10. java文档注释return_Java-文档注释

    Java-文档注释 Java语言支持三种类型的注释- Sr.No. Comment & Description 1 /* text */ The compiler ignores everyt ...

最新文章

  1. Django-C002-深入模型,到底有多深
  2. Machine Learning - Andrew Ng on Coursera (Week 4)
  3. 简单易学的机器学习算法——神经网络之BP神经网络
  4. PyPy为什么能让Python比C还快?一文了解内在机制
  5. UVa 1368 - DNA Consensus String
  6. 结合 category 工作原理分析 OC2.0 中的 runtime
  7. [Unity] 无脚本导出 Texture 为 PNG
  8. iOS和js交互三部曲,很不错的文章和demo
  9. CF1041D Glider
  10. 数学建模题目及答案matlab,MATLAB数学建模习题.doc
  11. 二值图像数字水印技术的实现
  12. android开发学习-日经常使用到的好东西-经常使用技巧分享
  13. 三阶魔方大中小魔公式_七步玩转三阶魔方还原公式及非公式步骤图解【新手适用超详细】...
  14. 小刘同学的第一百二十二篇博文
  15. 重定位——重定位的简介与操作(涉及位置无关码)
  16. 游标v_cur的%notfound
  17. 华为云大数据平台,助力企业数字化转型成效明显
  18. 七律之冠 --- 登高
  19. 品茗股份承办第四届中国BIM(数字建造)经理高峰论坛在杭召开
  20. 数学使用计算机辅助教学,计算机辅助小学数学教学的初探论文

热门文章

  1. 程序员薪资怎么论高级还是初级_和程序员一样高薪,却过着清闲生活,测试员什么人都可做吗?...
  2. 自学python到什么程度就可以工作-零基础学到什么程度可以找一份python工作?Python学习路线规划...
  3. python可以做什么工作-济南大数据可以做哪些岗位
  4. python可以做什么-Python简直就是万能的,你用Python都做过哪些事?
  5. python软件下载安装-python安装最新下载_python安装绿色版 - 软件帝
  6. 自学python-python自学难吗
  7. python基础教程廖雪峰云-为什么看不懂廖雪峰的Python学习教程?
  8. 零基础python入门-零基础 Python 入门
  9. python单词的含义-python 前面几个单词含义
  10. python精彩编程200例-python趣味编程100例(99个)