解决浮点运算精度不准确,BigDecimal 加减乘除
package com.kflh.boxApi.utils.util;
import java.math.BigDecimal;
/**
* @program: BoxApi
* @description: 计算浮点数
* @author: eterntiyz
* @create: 2019-01-17 11:10
*/
public class DoubleCalendar {
/**
* @Description: 浮点加法
* @Param: []
* @return: java.lang.Double
* @Author: tonyzhang
* @Date: 2019-01-17 11:27
*/
public static Double add(String str1,String str2) {
BigDecimal bignum1 = new BigDecimal(str1);
BigDecimal bignum2 = new BigDecimal(str2);
BigDecimal bignum3 = bignum1.add(bignum2);
return bignum3.doubleValue();
}
/**
* @Description: 浮点减法
* @Param: []
* @return: java.lang.Double
* @Author: tonyzhang
* @Date: 2019-01-17 11:27
*/
public static Double subtract(String str1,String str2) {
BigDecimal bignum1 = new BigDecimal(str1);
BigDecimal bignum2 = new BigDecimal(str2);
BigDecimal bignum3 = bignum1.subtract(bignum2);
return bignum3.doubleValue();
}
/**
* @Description: 浮点乘法
* @Param: str1为分母,str2为分子
* @return: java.lang.Double
* @Author: tonyzhang
* @Date: 2019-01-17 11:26
*/
public static Double multiply(String str1,String str2) {
BigDecimal bignum1 = new BigDecimal(str1);
BigDecimal bignum2 = new BigDecimal(str2);
BigDecimal bignum3 = bignum1.multiply(bignum2);
return bignum3.doubleValue();
}
/**
* @Description: 浮点除法
* @Param: []
* @return: java.lang.Double
* @Author: tonyzhang
* @Date: 2019-01-17 11:26
*/
public static Double divide(String str1,String str2) {
BigDecimal bignum1 = new BigDecimal(str1);
BigDecimal bignum2 = new BigDecimal(str2);
//参数意义.bignum1为分母,bignum2为分子,scale保留的位数,BigDecimal.ROUND_DOWN表示不进位
BigDecimal bignum3 = bignum1.divide(bignum2,2,BigDecimal.ROUND_DOWN);
return bignum3.doubleValue();
}
public static void main(String[] args) {
System.out.println(divide("4600.0","0.6"));
}
}
解决浮点运算精度不准确,BigDecimal 加减乘除的更多相关文章
- BigDecimal 解决double精度丢失问题(加减乘除)
package com.qcloud.component.publicservice.util; import java.math.BigDecimal; /** * 由于Java的简单类型不能够精确 ...
- 解决计算精度问题:BigDecimal
BigDecimal类 BigDecimal所在包:java.math,不可变的.任意精度的有符号十进制数.BigDecimal 由任意精度的整数非标度值 和 32 位的整数标度 (scale) 组成 ...
- java用double和float进行小数计算精度不准确
java用double和float进行小数计算精度不准确 大多数情况下,使用double和float计算的结果是准确的,但是在一些精度要求很高的系统中或者已知的小数计算得到的结果会不准确,这种问题是非 ...
- BigDecimal加减乘除运算(转)
java.math.BigDecimal.BigDecimal一共有4个够造方法,让我先来看看其中的两种用法: 第一种:BigDecimal(double val) Translates a doub ...
- Java-从Double类型精度丢失认识BigDecimal
Java-从Double类型精度丢失认识BigDecimal 参考资料 https://www.jianshu.com/p/07e3eeb90f18 https://zh.wikipedia.org/ ...
- 金融项目java开发_BigDecimal(解决计算精度问题)
当使用double进行商业运算时,double计算会丢失精度.可以使用BigDecimal进行计算. import java.math.BigDecimal; import org.junit.Tes ...
- BigDecimal加减乘除及setScale的用法小结
Bigdecimal初始化: BigDecimal num = new BigDecimal(2.225667);//这种写法不允许,会造成精度损失. BigDecimal num = new Big ...
- BigDecimal类(精度计算类)的加减乘除
BigDecimal类 对于不需要任何准确计算精度的数字可以直接使用float或double,但是如果需要精确计算的结果,则必须使用BigDecimal类,而且使用BigDecimal类也可以进行大数 ...
- js小数加减乘除时精度不准确
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/qq_33237207/article/d ...
随机推荐
- destoon信息或者公司归属多个类别的解决方式
有时候,一条信息属对应于多个类别,在destoon原生系统里是没有这个解决方案 在公司行业类别选择的地方实现了这个功能,但是选择体验不太好,不符合我当前的需求,目前我写了如下解决方案 系统代码如下: ...
- win7下Oracle库imp导入dmp
第一步:创建备份文件存储目录 create or replace directory back_file as 'F:\APP\ADMINISTRATOR\ORADATA\ORCL'; create ...
- Elasticsearch介绍和安装
Elasticsearch介绍和安装 软件包: 链接:https://pan.baidu.com/s/1O_C0JQGfF8sC_OtcCCLNoQ 提取码:3iai 1.1.简介 1.1.1.Ela ...
- 泛型 List转换成DataTable
private DataTable listToDataTable<T>(List<T> ListItem) { //实列化DataTable对象 var dt = new D ...
- 机器学习- Numpy基础 吐血整理
Numpy是专门为数据科学或者数据处理相关的需求设计的一个高效的组件.听起来是不是挺绕口的,其实简单来说就2个方面,一是Numpy是专门处理数据的,二是Numpy在处理数据方面很牛逼(肯定比Pytho ...
- Python实现截图功能
Python实现截图功能 Windows环境下需要用到PIL库,使用pip安装PIL库: pip install Pillow 安装完成,截图方法代码: from PIL import ImageGr ...
- java 使用 morphia 存取枚举为值
源码 https://github.com/zhongchengyi/zhongcy.demos/tree/master/mongo-morphia-demo 前言 morphia是java 使用or ...
- 最小生成树+LCA不能算最小环!!!!!!!
- ThreadLocal源码阅读
package java.lang; import java.lang.ref.WeakReference; import java.util.Objects; import java.util.co ...
- 使用wordPress搭建个人博客
第一章:前期准备工作 现在比较流行的博客社区有博客园.开源中国.思否.掘金.CSDN.简书等等,平时可以在自己喜欢的社区分享交流相关专业知识.如果你想拥有一个自己的博客,下面就跟我一起了解一下,我 ...