Java Math.nextUp() 方法

java.lang.Math.nextUp() 是Java中内置的数学方法。它沿正无穷大方向返回与用户指定的参数(d)相邻的浮点值。此方法等价于nextAfter(d,Double.POSITIVE_INFINITY)方法。nextUp()方法的实现可能比其等价的nextAfter()方法调用运行得更快。

1 语法

public static double nextUp(double a)  
public static float nextUp(float a)  

2 参数

a :起始浮点值  

3 返回值

此方法返回更接近正无穷大的相邻浮点值。  

  • 如果参数为NaN,则此方法将返回NaN。
  • 如果参数为零,并且我们正在处理double,则此方法将返回Double.MIN_VALUE。
  • 如果参数为零,并且我们正在处理float,则此方法将返回Float.MIN_VALUE。
  • 如果参数为正无穷大,则此方法将返回正无穷大。

4 示例1

package com.yiidian;

/**
 * 一点教程网: http://www.yiidian.com
 */
public class Demo
{
    public static void main(String[] args)
    {
        float x = 0.0f / 0;
        // 输入 NaN,输出 NaN
        System.out.println(Math.nextUp(x));
    }
}

输出结果为:

NaN

5 示例2

package com.yiidian;

/**
 * 一点教程网: http://www.yiidian.com
 */
public class Demo
{
    public static void main(String[] args)
    {
        double x = 744.93;
        //输入double值,输出相邻浮点数
        System.out.println(Math.nextUp(x));
    }
}

输出结果为:

744.9300000000001

6 示例3

package com.yiidian;

/**
 * 一点教程网: http://www.yiidian.com
 */
public class Demo
{
    public static void main(String[] args)
    {
        float a = 328.7f;
        //输入double值,输出相邻浮点
        System.out.println(Math.nextUp(a));
    }
}

输出结果为:

328.70004

7 示例4

package com.yiidian;

/**
 * 一点教程网: http://www.yiidian.com
 */
public class Demo
{
    public static void main(String[] args)
    {
        float x = 0.0f;
        //输入零,输出float.MIN_VALUE为float  
        System.out.println(Math.nextUp(x));
    }
}

输出结果为:

1.4E-45

8 示例5

package com.yiidian;

/**
 * 一点教程网: http://www.yiidian.com
 */
public class Demo
{
    public static void main(String[] args)
    {
        double b = 0.0;
        //输入零,输出Double.MIN_VALUE为double
        System.out.println(Math.nextUp(b));
    }
}

输出结果为:

4.9E-324

 

热门文章

优秀文章