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()); } }
发表评论
-
List<Map> 排序
2016-08-03 11:03 907import java.util.ArrayList; im ... -
相对路径和绝对路径的区别,java获取项目访问路径的方法
2016-07-19 13:58 625相对路径和绝对路径的区别 在HTML里只要涉及文件的地方( ... -
POI 单元格
2016-07-07 11:48 440POI 单元格合并中的CellRangeAddress 参数: ... -
Java的内存机制
2016-06-28 11:40 5511.Java的内存机制 Java 把内存划分成两种:一种是 ... -
StringBuffer和StringBuilder的区别
2016-06-28 11:36 403StringBuffer、StringBuilder和Stri ... -
平均分割list
2016-06-26 19:22 1194private static List<List< ... -
定时任务&&找出两个list的不同
2016-06-21 13:55 341/*-------------------------appl ... -
时间类
2016-06-21 13:38 494/* * Licensed to the Apache S ... -
常用map总结
2016-06-21 09:39 391Map map = new HashMap(); I ... -
遍历listmap 遍历map
2016-04-27 16:23 515package excel; import java ... -
Criteria Query
2016-01-29 13:32 446Criteria Query通过面向对象化的设计,将数据查询条 ... -
List和ArrayList的区别
2016-01-28 09:38 495List和ArrayList的区别 List是一个接口,而Li ... -
StringUtils.isEmpty用法
2016-01-28 09:21 648StringUtils 方法的操作对象是 java.lang. ... -
java中重载与重写的区别
2016-01-27 13:50 490java中重载与重写的区别 ... -
loginfilter
2016-01-26 16:02 308dabdabdabdabdabdabdab -
web.xml
2015-11-13 13:53 3201、启动一个WEB项目的时 ... -
hashMap.js
2015-11-04 09:57 407function HashMap() { /** Map大 ... -
分页处理
2015-11-01 09:21 709select * from (SELECT rownum as ... -
前台传字符串导出word
2015-10-29 13:43 659package com.yunfengtech.common; ... -
SQL时间比较大小
2015-10-28 16:53 553public List<RBean> queryF ...
相关推荐
提供double的精准加减乘除,很方便,可保留多为小数
唔,其实里面就是一个工具类,加减乘除、保留两位小数。一共5个方法。。。emmmm.....为啥分这么高呢。因为宝宝想分想疯了。 附代码,有土豪就打赏打赏,没土豪的直接拿去使吧。 package cn.cisdom.base.utils; ...
Java中BigInteger的数学运算,BigDecimal 加减乘除运算,Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数。在实际应用中,需要对更大...
对于不需要任何准确计算精度的数字可以直接使用float或double,但是如果需要精确计算的结果,则必须使用BigDecimal类,而且使用BigDecimal类也可以进行大数的操作,下面这篇文章给大家介绍了Java中BigDecimal的加减...
java编写的计算器,能实现加减乘除。 //***该梦幻计算器与Windows附件自带计算器的标准版功能、界面相仿***// //******但还不支持键盘操作,如有需要,下一次等级将满足你**********// import java.awt.*; import ...
大家应该对于不需要任何准确计算精度的数字可以直接使用float或double运算,但是如果需要精确计算的结果,则必须使用BigDecimal类,而且...下面这篇文章就给大家介绍介绍关于java中BigDecimal进行加减乘除的基本用法。
例如1/3=0.0000…,它不能使用数据类型double或float的浮点格式精确表示出来,为了得到准确结果,必须使用有理数。 – Java提供了整数和浮点数的数据类型,但是没有提供有理数的类型。 – 由于有理数与整数、...
因为中间的变量都是用的int型,所以对除法运算可能有时不能支持,但你只要自己把所有的变量都改为float或者double就能解决问题。
(2)编写一个包含主方法main的公共类(访问权限为public的类),主方法main中完成的任务是:从键盘上输入两个运算数(double 类型)和一个运算符(char 类型),使用(1)中的类输出运算结果(保留两位小数)。...
(4)从第一个文件中取第一个操作数,从第二个文件中取第二个操作数,将其按照第三步中选择的运算做加减乘除后存入到第三个文件中。 (5)从第三个文件中读取出运算结果。 其他要求: (1)要求处理double型或float...
double 数据加减乘除,取精度,保留指定小数位数 四舍五入,将货币元-转为-分,double 数据加减乘除,取精度,保留指定小数位数 四舍五入,将货币元-转为-分
由于Java的简单类型不能够精确的对浮点数进行运算,这个工具类提供 精确的浮点数运算,包括加减乘除和四舍五入,以及百分数转换。
比较完美,算法的实现很简洁,只有加减乘除的基本运算,程序运行效率很高,计算10万个点的运行时间大概20秒左右。适当增加Point类中的屏幕范围,可以实现更多的点的运算。将x,y修改成double类型可以获得更多。代码...
实现对复数的加减乘除等操作,java课程实验作业,方法有void setRealPart(double d) {} void setImaginPart(double d) {} int complexAdd(ComplexNumber c) {} int complexMinus(ComplexNumber c) {} int ...
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课上写的计算器,能够实现输入一行计算公式,进行简单的加减乘除,数据类型double类型,没有制作图形化界面。
* 如返回指定位数的随机数字、Double的加减乘除精确运算、指定位数数字用“0”补齐 * @autho: Administrator * @date: 2013-6-7 下午02:26:27 * @alter: Administrator * @alterDate: 2013-6-7 下午02:26:27 ...
一个java类,该类可以进行加、减、乘、除四则运算,并且可以输出运算结果。此外,对于除法,如果被除数为0,该类可以报错。对于加、减、乘、除之外的运算符,该类应该告知无法处理。 编写一个包含主方法main的公共类...
实现了 有理数(可以负数,可以小数点)之间的加减法(允许包含括号的加减乘除) 允许负数带括号 利用BigDecimal 大数据类 来保证精度 例如Double 2-1.1=0.89999,在大数据类就无异常 例如 9+(-9)=0 9--6=15 9*...