文档章节

记录Java Double类型的数值相加/相减出现精度误差的问题

IT-Mamba
 IT-Mamba
发布于 2018/01/12 10:53
字数 96
阅读 241
收藏 0

问题情况:

double b = 0.02;
double c = 0.05;
System.out.println(c-b);

这时我们希望得到的是 0.03 

但是输出结果  0.030000000000000002

 

解决方法:改用 BigDecimal 

具体操作:

BigDecimal b2 = new BigDecimal(Double.toString(b));
BigDecimal b3 = new BigDecimal(Double.toString(c));
System.out.println(b3.subtract(b2).doubleValue());
System.out.println(b2.add(b3).doubleValue());

输出结果当然是 0.03 和 0.07 了

 

© 著作权归作者所有

IT-Mamba
粉丝 10
博文 132
码字总数 55322
作品 0
惠州
程序员
私信 提问
浮点数精度问题透析:小数计算不准确+浮点数精度丢失根源

在知乎上上看到如下问题: 浮点数精度问题的前世今生? 1.该问题出现的原因 ? 2.为何其他编程语言,比如java中可能没有js那么明显 3.大家在项目中踩过浮点数精度的坑? 4.最后采用哪些方案规...

zhoulujun
05/17
30
0
Java Double相加出现的怪事

问题的提出: 编译运行下面这个程序会看到什么 [java] view plaincopy public class test { public static void main(String args[]) { System.out.println(0.05 + 0.01); System.out.print......

onedotdot
2017/11/05
36
0
java基础:基本类型占用字节数

在Java中一共有8种基本数据类型,其中有4种整型,2种浮点类型,1种用于表示Unicode编码的字符单元的字符类型和1种用于表示真值的boolean类型。(一个字节等于8个bit) 1.整型 类型 存储需求 ...

watermelon11
02/23
125
0
Java 基础快捷键以及相关基础知识总结——2

1.5 JDK的下载与安装 JDK下载网站网址:https://www.oracle.com/index.html i586是32位系统,x64是64位系统,7u72是更新72 默认式安装,直接下一步就好,建议在安装目录选择的时候改成D盘 1....

新手求问4814
2018/11/22
0
0
你所不知道的 BigDecimal

本文首发于个人微信公众号《andyqian》, 期待你的关注! 前言 在Java中,我们通常使用 BigDecimal 类型来表示金额,特别是在金融,财务系统中,使用的特别多。例如:转账金额,手续费等等。今...

andyqian
07/18
58
0

没有更多内容

加载失败,请刷新页面

加载更多

idea修改新的git地址

我们在项目变动中通常会遇到更换git地址情况,这里介绍一个在idea项目中简单更换git地址操作: 1、点击VCS; 2、点击Git; 3、点击Remotes; 具体步骤如图 4、点击框中链接即可在右边看到一个...

west_coast
25分钟前
6
0
将规则集传递给mixin

允许包装在mixin中定义的css块。 分离的规则集是一组CSS属性、嵌套规则集、媒体声明或者是存储在变量中的任何其他内容,我们可以将它包含在规则集中或其他结构中,并且所有属性都将复制到那里...

凌兮洛
27分钟前
4
0
玩转阿里云 Terraform(一):Terraform 是什么

从本文起,我将陆续推出一系列有关 Terraform 的文章,从概念,特点,工作机制,用法以及最佳实践等多个方面由浅入深的向大家介绍如何在阿里云上玩转 Terraform。同时也希望借此机会,与感兴...

阿里云官方博客
27分钟前
4
0
科研大数据面临的挑战

近几十年硬件的发展非常迅猛,第一台Macintosh苹果电脑的内存是128KB(0.13MB),现在很多笔记本配的是8GB的内存,硬盘1TB(1024GB),2TB的很常见。大型的数据服务器上还会有更大的储容量,...

英论阁学术院
27分钟前
5
0
python学习10.09:Python列表和元组的底层实现

有关列表(list)和元组(tuple)的底层实现,本节分别从它们的源码来进行分析。 首先来分析 list 列表,它的具体结构如下所示: typedef struct { PyObject_VAR_HEAD /* Vector o...

太空堡垒185
28分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部