位置:首頁 > 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