當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Java Math.nextAfter()用法及代碼示例


java.lang.Math.nextAfter() 返回在第二個參數的方向上與第一個參數相鄰的浮點數。如果第一個參數和第二個參數相同,則此方法將返回第二個參數。

用法:

public static double nextAfter(double a, double b)
public static float nextAfter(float a, double b)

參數:

a = starting floating-point value
b = direction value indicating which of start's neighbors or start should be returned

返回:

This method returns the floating-point number adjacent to start(a) in the direction of b.
  • 如果任一參數是 NaN,則此方法將返回 NaN。
  • 如果兩個參數都帶符號零,則方向將保持不變。
  • 如果開始參數(a) 等於正數或負數 Double.MIN_VALUE 或 Float.MIN_VALUE 並且方向參數(b) 的值使得結果應該具有較小的幅度,則此方法將返回與參數相同符號的零。
  • 如果開始參數(a) 等於正數或負數 Double.MAX_VALUE 或 Float.MAX_VALUE 並且方向參數(b) 的值使得結果應該具有更大的幅度,則此方法將返回與參數相同符號的 Infinite。
  • 如果開始參數(a) 是無窮大並且方向參數(b) 有一個值使得結果應該具有較小的幅度,那麽此方法將返回具有相同符號的Double.MAX_VALUE。

例子1

public class NextAfterExample1 
{
public static void main(String[] args) 
    	{
      		double a = 84352.24;
      		 double b = 154.284
    		 // print the next number for a towards b
     		 System.out.println(Math.nextAfter(a, b));
      		 // print the next number for b towards a
     		 System.out.println(Math.nextAfter(b, a));
  	  }
}

輸出:

84352.23999999999
154.28400000000002

例子2

public class NextAfterExample2 
{
    public static void main(String[] args) 
    {
        float a = 787.843f;
        double b = 345.56;
        // print the next number for a towards b
         System.out.println(Math.nextAfter(a, b));
    }
}

輸出:

787.84296

例子3

public class NextAfterExample3 
{
    public static void main(String[] args) 
    {
        double a = Double.MIN_VALUE;
        double b = 354.2489;
        System.out.println(Math.nextAfter(a, b));
    }
}

輸出:

1.0E-323

示例 4

public class NextAfterExample4 
{
    public static void main(String[] args) 
    {
        float a = Float.MAX_VALUE;
        float b = 793.37f;
        System.out.println(Math.nextAfter(a, b));
    }
}

輸出:

3.4028233E38






相關用法


注:本文由純淨天空篩選整理自 Java Math.nextAfter() method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。