java中double型数据的加减乘除,详细方法说明
import java.math.BigDecimal;
/**
* 由于Java的简单类型不能够精确的对浮点数进行运算,这个工具类提供精 确的浮点数运算,包括加减乘除和四舍五入。
*/
public class DoubleUtils{
private static final int DEF_DIV_SCALE = 10;
/**
* @Description 两个Double数相加
*
* @param d1
* @param d2
* @return Double
* @author liangbao.huang
* @date Jul 7, 2014 10:06:56 AM
*/
public static Double add(Double d1,Double d2){
BigDecimal b1 = new BigDecimal(d1.toString());
BigDecimal b2 = new BigDecimal(d2.toString());
return b1.add(b2).doubleValue();
}
/**
* @Description 两个Double数相减
*
* @param d1
* @param d2
* @return Double
* @author liangbao.huang
* @date Jul 7, 2014 10:06:56 AM
*/
public static Double sub(Double d1,Double d2){
BigDecimal b1 = new BigDecimal(d1.toString());
BigDecimal b2 = new BigDecimal(d2.toString());
return b1.subtract(b2).doubleValue();
}
/**
* @Description 两个Double数相乘
*
* @param d1
* @param d2
* @return Double
* @author liangbao.huang
* @date Jul 7, 2014 10:06:56 AM
*/
public static Double mul(Double d1,Double d2){
BigDecimal b1 = new BigDecimal(d1.toString());
BigDecimal b2 = new BigDecimal(d2.toString());
return b1.multiply(b2).doubleValue();
}
/**
* @Description 两个Double数相除
*
* @param v1
* @param v2
* @return Double
* @author liangbao.huang
* @date Jul 7, 2014 10:06:56 AM
*/
public static Double div(Double d1,Double d2){
BigDecimal b1 = new BigDecimal(d1.toString());
BigDecimal b2 = new BigDecimal(d2.toString());
return b1.divide(b2,DEF_DIV_SCALE,BigDecimal.ROUND_HALF_UP).doubleValue();
}
/**
* @Description 两个Double数相除,并保留scale位小数
*
* @param d1
* @param d2
* @param scale
* @return Double
* @author liangbao.huang
* @date Jul 7, 2014 10:06:56 AM
*/
public static Double div(Double d1,Double d2,int scale){
if(scale<0){
throw new IllegalArgumentException(
"The scale must be a positive integer or zero");
}
BigDecimal b1 = new BigDecimal(d1.toString());
BigDecimal b2 = new BigDecimal(d2.toString());
return b1.divide(b2,scale,BigDecimal.ROUND_HALF_UP).doubleValue();
}
}
//-------------附加 String类型小数与Double类型的转换--------
/**
* @Description String类型小数与Double类型的转换
*
* @author liangbao.huang
* @date Jul 7, 2014 10:06:56 AM
*/
public static void StrToDou(){
String str="4444.1122";
double num;
java.text.DecimalFormat myformat=new java.text.DecimalFormat("#0.00");
num=Double.parseDouble(str);//直接转换为double类型
num=Double.parseDouble(myformat.format(num));//保留2为小数
System.out.println(num);
}
引用
个人基本信息:
大家好,欢迎光临我的技术博客,这是一个丰富知识的平台,不被社会淘汰的唯一方法就是不断学习,每天将工作中的一些经验和大分享一下,技术问题随时都可以一起交流,我的职业是一名软件开发工程师,收入还可以,不过,每天就靠赚点固定的工资,生活还是紧巴巴的,尤其是还要存钱结婚育儿,还有许多事情等着用钱,对于银行的一些理财项目也了解过,收益一般,并且还有一定的帆风险,我的副业就是玩玩这个,一次偶然的机会,在网上了解到一个理财的项目,这是一个不推荐也天天有返现,这就是一个教人理财的金钱游戏,必须遵循:规则、诚信、真理和人性,想注册的就注册,不想注册的也没关系,我的目的只是给你分享下这个平台,每天都是有收益的,只是没奖励而已,我的是去年开始注册的,账号历史累计已有3万多了,可以全部转为现金,在我的影响下,身边的好多朋友利用空闲时间在赚钱。资深专家:黄先生 QQ: 251693481或577877144。需要了解的朋友可以一起沟通。3个多月后 你会发现你的选择是正确的,1年后 你会发现你选择是明智的,3年后,你会发现你的选择是英明的。
分享到:
相关推荐
提供double的精准加减乘除,很方便,可保留多为小数
唔,其实里面就是一个工具类,加减乘除、保留两位小数。一共5个方法。。。emmmm.....为啥分这么高呢。因为宝宝想分想疯了。 附代码,有土豪就打赏打赏,没土豪的直接拿去使吧。 package cn.cisdom.base.utils; ...
Java中BigInteger的数学运算,BigDecimal 加减乘除运算,Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数。在实际应用中,需要对更大...
java编写的计算器,能实现加减乘除。 //***该梦幻计算器与Windows附件自带计算器的标准版功能、界面相仿***// //******但还不支持键盘操作,如有需要,下一次等级将满足你**********// import java.awt.*; import ...
对于不需要任何准确计算精度的数字可以直接使用float或double,但是如果需要精确计算的结果,则必须使用BigDecimal类,而且使用BigDecimal类也可以进行大数的操作,下面这篇文章给大家介绍了Java中BigDecimal的加减...
Java 中 BigDecimal 的常用方法归类(加减乘除) Java 中的 BigDecimal 类提供了对浮点数的精确运算,包括加减乘除和四舍五入等操作。在 Java 中,简单类型不能够精确地对浮点数进行运算,因此需要使用 BigDecimal ...
例如1/3=0.0000…,它不能使用数据类型double或float的浮点格式精确表示出来,为了得到准确结果,必须使用有理数。 – Java提供了整数和浮点数的数据类型,但是没有提供有理数的类型。 – 由于有理数与整数、...
double numbera, numberb, result; char operate; try { //输入操作数和运算符 cout请输入第一个操作数:"; cin>>numbera; cout请输入运算符:"; cin>>operate; cout请输入第二个操作数:"; cin>>...
使用java语言实现16位内存数据转化为double型
大家应该对于不需要任何准确计算精度的数字可以直接使用float或double运算,但是如果需要精确计算的结果,则必须使用BigDecimal类,而且...下面这篇文章就给大家介绍介绍关于java中BigDecimal进行加减乘除的基本用法。
(2)编写一个包含主方法main的公共类(访问权限为public的类),主方法main中完成的任务是:从键盘上输入两个运算数(double 类型)和一个运算符(char 类型),使用(1)中的类输出运算结果(保留两位小数)。...
因为中间的变量都是用的int型,所以对除法运算可能有时不能支持,但你只要自己把所有的变量都改为float或者double就能解决问题。
"用c语言编写的加减乘除计算器程序" 本资源为一个使用C语言编写的加减乘除计算器程序,旨在提供一个基本的数学运算工具。下面是该程序的知识点解析: 1. 头文件包含:程序开头使用 `#include<stdio.h>` 语句包含了...
使用Java,double 进行运算时,经常出现精度丢失的问题,总是在一个正确的结果左右偏0.0000**1。 特别在实际项目中,通过一个公式校验该值是否大于0,如果大于0我们会做一件事情,小于0我们又处理其他事情。 这样的...
在 Java 中,float 对应的数据类型是 double。 int 在 SQL Server 中,int 是一个整数类型,用于存储整数值。在 Java 中,int 对应的数据类型是 int。 image 在 SQL Server 中,image 是一个二进制类型,用于...
精确计算Double型数据,可用于货币计算
Java Double相加出现的怪事,浮点运算不精确问题
java中数据类型转换 收藏 java中数据类型转换 1如何将字串 String 转换成整数 int? A. 有两个方法: 1). int i = Integer.parseInt([String]); 或 i = Integer.parseInt([String],[int radix]); 2). int i =...
Java中的基本数据类型包括整型(int)、浮点型(float、double)、布尔型(boolean)、字符型(char)和字符串型(String)。每种数据类型都有其特定的存储空间和取值范围。 1. 整型(int):整型变量用于存储整数...
防止Double加double后形成科学计数法问题