Java - StrictMath nextAfter(double x, double y) 方法



描述

Java StrictMath nextAfter(double start, double direction) 方法返回第一个参数在第二个参数方向上的相邻浮点数。如果两个参数比较相等,则返回第二个参数。特殊情况 -

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

  • 如果两个参数都是带符号的零,则 direction 返回不变(如返回参数相等时的第二个参数的要求所暗示的那样)。

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

  • 如果start 为无穷大且 direction 的值为结果应具有较小幅度的值,则返回与 start 符号相同的 Double.MAX_VALUE。

  • 如果start 等于 Double.MAX_VALUE 且 direction 的值为结果应具有较大幅度的值,则返回与 start 符号相同的无穷大。

声明

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

public static double nextAfter(double start, double direction)

参数

  • start − 起始浮点值

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

返回值

此方法返回 start 在 direction 方向上的相邻浮点数。

异常

示例:获取两个正值的下一个值

以下示例显示了 StrictMath nextAfter() 方法对两个正值的用法。

package com.tutorialspoint;
public class StrictMathDemo {
   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("StrictMath.nextAfter(" + x + "," + y + ")="
         + StrictMath.nextAfter(x, y));

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

输出

让我们编译并运行上述程序,这将产生以下结果 -

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

示例:获取一个正值和一个负值的下一个值

以下示例显示了 StrictMath nextAfter() 方法对一个正值和一个负值的用法。

package com.tutorialspoint;
public class StrictMathDemo {
   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("StrictMath.nextAfter(" + x + "," + y + ")="
         + StrictMath.nextAfter(x, y));

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

输出

让我们编译并运行上述程序,这将产生以下结果 -

StrictMath.nextAfter(-98759.765,154.28764)=-98759.76499999998
StrictMath.nextAfter(154.28764,-98759.765)=154.28763999999998

示例:获取两个负值的下一个值

以下示例显示了 StrictMath nextAfter() 方法对负值的用法。

package com.tutorialspoint;
public class StrictMathDemo {
   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("StrictMath.nextAfter(" + x + "," + y + ")="
         + StrictMath.nextAfter(x, y));

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

输出

让我们编译并运行上述程序,这将产生以下结果 -

StrictMath.nextAfter(-98759.765,-154.28764)=-98759.76499999998
StrictMath.nextAfter(-154.28764,-98759.765)=-154.28764000000004
java_lang_strictmath.htm
广告