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