Java Math nextAfter()方法及示例

Java Math nextAfter()方法及示例

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

语法:

//数据类型可以是 浮点数双数。

public static dataType nextAfter(dataType st, dataType dir)

参数 :

st : 开始的浮点数值。

dir : 表示应该返回start的邻居或start中的哪一个数值。

返回 :

该方法返回与start相邻的浮点数,方向为方向。

注意 :

  • 如果其中一个参数是NaN,则输出为NaN。
  • 如果两个参数都是有符号的零,那么返回的方向将是不变的(正如在参数比较相等的情况下返回第二个参数的要求所暗示的)。
  • 如果start是Double.MIN_VALUE或者Float.MIN_VALUE,并且方向有一个值,使得结果应该有一个较小的幅度,那么将返回一个与start相同符号的0。
  • 如果开始是无限的,并且方向有一个值使得结果应该有一个较小的幅度,那么将返回与开始相同符号的Double.MAX_VALUE或Float.MAX_VALUE。
  • 如果开始等于Double.MAX_VALUE或Float.MAX_VALUE,并且方向有一个值,使得结果应该有更大的幅度,则返回一个与开始相同符号的无穷大。

例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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程