黑马程序员技术交流社区

标题: 基本数据类型double和long相减怎么会这样啊、、、、 [打印本页]

作者: 李厚斌    时间: 2014-3-31 01:42
标题: 基本数据类型double和long相减怎么会这样啊、、、、
  1. public class test {
  2.         public static void main(String[] args){
  3.                 double num=303.09;
  4.                 long l=(long)num;
  5.                 System.out.println(l);//这个值是303
  6.                 System.out.println(num-l);//这里303.09-303.。。打印出来的确实0.08999999999997499。。。。
  7.         }
  8. }
复制代码

基本数据类型double和long相减怎么会这样啊、、、???不应是0.9么。。。。这是为什么啊。。。。
作者: optimisticpig    时间: 2014-3-31 07:19
本帖最后由 optimisticpig 于 2014-4-1 09:58 编辑

浮点数在计算机中存在有效位数,最后的几位会进行四舍五入或其他的近似计算




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2