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



描述

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

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

  • 如果两个参数都是带符号的零,则返回与 direction 等效的值。

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

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

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

声明

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

public static float nextAfter(float start, double direction)

参数

  • start − 起始浮点数

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

返回值

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

异常

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

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

package com.tutorialspoint;
public class StrictMathDemo {
   public static void main(String[] args) {

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

输出

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

StrictMath.nextAfter(98759.766,154.28764)=98759.76

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

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

package com.tutorialspoint;
public class StrictMathDemo {
   public static void main(String[] args) {

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

输出

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

StrictMath.nextAfter(-98759.766,154.28764)=-98759.76

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

以下示例演示了对两个负值使用 StrictMath nextAfter() 方法。

package com.tutorialspoint;
public class StrictMathDemo {
   public static void main(String[] args) {

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

输出

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

StrictMath.nextAfter(-98759.766,-154.28764)=-98759.76
java_lang_strictmath.htm
广告