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

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

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

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

声明

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

public static float nextAfter(float 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) {
  
    float f1 = 90.2f, f2 = 0.0f;
       
    /* returns the floating-point number adjacent to the first argument in the
    direction of the second argument */  
    float retval = StrictMath.nextAfter(f1, 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(f2, 9.2d);
    System.out.println("NextAfter = " + retval);

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

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

NextAfter = 90.19999
NextAfter = 1.4E-45
NextAfter = 0.0