• double类型和int类型的区别


    引例:

    double a=19*3.3;

    System.out.print(a);

    结果为62.9999996,不是62.7;这里不单纯是因为给的是double类型

        (1) 62.7 和 62.699999999999996 实际意义上是一样的,double是一个不精确的表示

        (2) double用于表示连续数,int表示离散数。什么叫连续数,看下面的解释。

        /* 小知识:连续数 与 离散数 *

        * 连续数:表示一个连续的值,本身是不精确的。

        * 比如,买了1000克猪肉,和买了999.999999克锗肉,

        * 并无区别。因为1000克本身是一个不精确的测量值,有一定的误差。

        * 再比如说,你在高速上开车,120km就算超速。然而,测速软件不会刚好卡在120km就判定超速的,

        * 因为谁都知道速度测量有误差。一般会在大于 120 + 10 左右才算你超速。

        * 你作为程序员,在连续数的判断上必须要加上误差范围,不然会被人投诉的。

        *  离散数:表示离散的值。如1只猪,2只猪。

        *  离散数用int表示,可以精确比较。比如,小王家有m只猪,小李家有n只猪,则m和n 可以精确比较。

        *  连续数用double表示,不能精确比较。比如,小王身高1.8000米,小李身高1.79999米,

        *  然后你说小王比小李高,人家能服气吗?尺子的误差那么大!

        *  小知识:1.0 = 0.999999... 你明白吗?

        *  因为1/3 = 0.3333333

        *  所以 3 * 1/ 3 = 0.999999 = 1

        */

  • 相关阅读:
    获取枚举Description的Name
    MVC 3 RequiredIf validator for multiple values
    js关闭页面(兼容浏览器)
    js实现复制到剪切板
    Reverse Integer
    303. Range Sum Query
    326.Power of Three
    328. Odd Even Linked List
    面试基础知识点
    javaSE学习博客与笔记
  • 原文地址:https://www.cnblogs.com/wgfdd/p/13168202.html
Copyright © 2020-2023  润新知