• Double和Float中的NaN和Infinity


        对于Double和Float这种浮点型来说,存在无穷大(POSTIVE_INFINITY)和无穷小(NAGATIVE_INFINITY),NaN的概念。

          注意:NaN在任何时候都不会相等。

        

    public class Test {
        public static void main(String[] args) {
            System.out.println(Double.NEGATIVE_INFINITY==Float.NEGATIVE_INFINITY); // TRUE
                System.out.println(Double.NEGATIVE_INFINITY==Double.NEGATIVE_INFINITY); // TRUE
                System.out.println(Float.NEGATIVE_INFINITY==Float.NEGATIVE_INFINITY); // TRUE
                System.out.println(Float.NaN==Float.NaN); // FALSE
                System.out.println(Double.NaN==Double.NaN); // FALSE
        }
    }

         那么什么时候会出现这种情况呢?下图说明:

         

        如何去判断一个数是不是infinity或者NaN呢?

        1.isInifinite() 用于判断一个数是不是infinity(无穷大,包括正无穷和负无穷);

          

     1 /**
     2      * Returns {@code true} if the specified number is infinitely
     3      * large in magnitude, {@code false} otherwise.
     4      *
     5      * @param   v   the value to be tested.
     6      * @return  {@code true} if the value of the argument is positive
     7      *          infinity or negative infinity; {@code false} otherwise.
     8      */
     9 public static boolean isInfinite(double v) {
    10     return (v == POSITIVE_INFINITY) || (v == NEGATIVE_INFINITY);
    11 }

         

          2.isNaN() 用于判断一个数是否是一个数;

     

     1 /**
     2      * Returns {@code true} if the specified number is a
     3      * Not-a-Number (NaN) value, {@code false} otherwise.
     4      *
     5      * @param   v   the value to be tested.
     6      * @return  {@code true} if the value of the argument is NaN;
     7      *          {@code false} otherwise.
     8      */
     9 public static boolean isNaN(double v) {
    10     return (v != v);
    11 }
  • 相关阅读:
    app测试的一些较为重要的测试点
    adb工作常用命令
    vue中$attrs $listeners你会用吗?
    Vue中组件通信的常用方式
    Vue中watch 的用法
    VUE中使用 async await 将 axios 异步请求同步化处理
    安装spyder记录
    树莓CM3开机连接WIFI
    树莓派搭建seafile服务器备忘
    关于JAVA数据结构_线性表(通过单向链表实现)的学习
  • 原文地址:https://www.cnblogs.com/heureuxl/p/13432416.html
Copyright © 2020-2023  润新知