Java.lang.Math.nextAfter() 方法

描述

java.lang.Math.nextAfter(double start, double direction) 返回第二个参数方向上与第一个参数相邻的浮点数。 如果两个参数比较相等,则返回第二个参数。 特别案例 −

  • 如果任一参数是 NaN,则返回 NaN。

  • 如果两个参数都是带符号的零,则返回方向不变(如果参数比较相等,则返回第二个参数的要求暗示了这一点)。

  • 如果 start 为 Double.MIN_VALUE 且方向的值应使结果的幅度较小,则返回与 start 符号相同的零。

  • 如果 start 是无限的,并且 direction 的值使得结果应该具有较小的幅度,则返回与 start 符号相同的 Double.MAX_VALUE。

  • 如果 start 等于 Double.MAX_VALUE 并且方向的值使得结果应该具有更大的量级,则返回与 start 符号相同的无穷大。


声明

以下是 java.lang.Math.nextAfter() 方法的声明。

public static double nextAfter(double start, double direction)

参数

  • start − 起始浮点值

  • direction − 指示应该返回 start 的哪个邻居或 start 的值


返回值

该方法返回与开始方向相邻的浮点数。


异常

NA


示例

下面的例子展示了 lang.Math.nextAfter() 方法的使用。

package com.tutorialspoint;

import java.lang.*;

public class MathDemo {

   public static void main(String[] args) {

      // get two double numbers
      double x = 98759.765;
      double y = 154.28764;
   
      // print the next number for x towards y
      System.out.println("Math.nextAfter(" + x + "," + y + ")="
         + Math.nextAfter(x, y));

      // print the next number for y towards x
      System.out.println("Math.nextAfter(" + y + "," + x + ")="
         + Math.nextAfter(y, x));
   }
}

让我们编译并运行上面的程序,这将产生下面的结果 −

Math.nextAfter(98759.765,154.28764)=98759.76499999998
Math.nextAfter(154.28764,98759.765)=154.28764000000004