位置:首页 > Java技术 > java.lang > java.lang.StrictMath.nextAfter(double start, double direction)方法实例

java.lang.StrictMath.nextAfter(double start, double direction)方法实例

java.lang.StrictMath.nextAfter(double start, double direction) 方法返回第二个参数的方向上相邻的第一个参数的浮点数。如果两个参数比较相等,第二个参数被返回。它包括以下情况:

  • 如果任一参数为NaN,则返回NaN。
  • 如果这两个参数为有符号的零值,方向返回不变。
  • 如果start为±Double.MIN_VALUE和方向的值,这样的结果应该有一个更小的幅度,用零为起点 返回相同的符号。
  • 如果开始是无限的和方向的值使得该结果应具有较小的幅度,Double.MAX_VALUE用开始相同的符号返回。
  • 如果start等于±Double.MAX_VALUE和方向的值,这样的结果应该有一个更大的幅度,以作为开始,则返回的无穷大相同符号。

声明

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

public static double nextAfter(double start, double direction)

参数

  • start -- 这是开始的浮点值

  • direction -- 这个值表示其开始的相邻或开始将被返回

返回值

此方法返回开始沿方向上相邻的浮点数。

异常

  • NA

例子

下面的例子显示java.lang.StrictMath.nextAfter()方法的使用。

package com.yiibai;

import java.lang.*;

public class StrictMathDemo {

  public static void main(String[] args) {
  
    double d1 = 102.2d, d2 = 0.0d;
       
    /* returns the floating-point number adjacent to the first argument in the
    direction of the second argument */
       
    double retval = StrictMath.nextAfter(d1, 9.2d);
    System.out.println("NextAfter = " + retval);

    /* returns the floating-point number adjacent to the first argument in the
    direction of the second argument */
    retval = StrictMath.nextAfter(d2, 9.2d);
    System.out.println("NextAfter = " + retval);

    // returns 0 if both arguments is zero
    retval = StrictMath.nextAfter(d2, 0.0d);
    System.out.println("NextAfter = " + retval);
  }
}

让我们来编译和运行上面的程序,这将产生以下结果:

NextAfter = 102.19999999999999
NextAfter = 4.9E-324
NextAfter = 0.0