📜  Java Math nextAfter() 方法与示例

📅  最后修改于: 2022-05-13 01:55:00.930000             🧑  作者: Mango

Java Math nextAfter() 方法与示例

Java.lang.Math.nextAfter()返回第二个参数方向上与第一个参数相邻的浮点数。如果两个参数相等,则返回第二个参数。

笔记 :

  • 如果参数之一是NaN ,则输出为NaN
  • 如果两个参数都是有符号的 zeros ,则返回方向不变(如果参数比较相等,则返回第二个参数的要求暗示了这一点)。
  • 如果startDouble.MIN_VALUE 或 Float.MIN_VALUE并且方向的值使得结果应该具有较小的幅度,则返回与 start 符号相同的
  • 如果start无限的,并且 direction 的值使得结果应该具有较小的幅度,则返回与 start 具有相同符号的Double.MAX_VALUE 或 Float.MAX_VALUE
  • 如果start等于Double.MAX_VALUE 或 Float.MAX_VALUE并且 direction 的值使得结果应该具有更大的量级,则返回与 start 符号相同的无穷大

示例 1:显示Java.lang.Math.nextAfter()方法的工作。

// Java program to demonstrate working
// of java.lang.Math.nextAfter() method
import java.lang.Math;
  
class GfG {
  
    // driver code
    public static void main(String args[])
    {
        double a = 0.0 / 0;
        double b = 12.2;
  
        // Input a is NaN, Output NaN
        System.out.println(Math.nextAfter(a, b));
  
        double c = 0.0;
        double d = 0.0;
  
        // Both Input are signed zeros, Output zero
        System.out.println(Math.nextAfter(c, d));
  
        float e = Float.MIN_VALUE;
        float f = 12.2f;
  
        System.out.println(Math.nextAfter(e, f));
  
        float g = 1.0f / 0f;
        float h = 1.0f;
  
        System.out.println(Math.nextAfter(g, h));
  
        double i = Double.MAX_VALUE;
        double j = 12344.2;
  
        System.out.println(Math.nextAfter(i, j));
    }
}

输出:

NaN
0.0
2.8E-45
3.4028235E38
1.7976931348623155E308