当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Java Math nextAfter()用法及代码示例


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

用法:
// datatype can be float or double.
public static dataType nextAfter(dataType st, dataType dir)

参数:
st:起始浮点值。
dir:指示应返回起始邻居或起始位置的值。


返回:
此方法返回在方向上相邻的浮点数。

注意:

  • 如果参数之一为NaN,则输出为NaN
  • 如果两个参数的符号都为零,则返回的方向不变(如参数比较相等则返回第二个参数的要求)。
  • 如果start为Double.MIN_VALUE或Float.MIN_VALUE,并且direction具有一个值使得结果应具有较小的大小,则将返回一个与start具有相同符号的零。
  • 如果start为无穷大,并且direction的值应使结果的大小较小,则返回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


相关用法


注:本文由纯净天空筛选整理自Niraj_Pandey大神的英文原创作品 Java Math nextAfter() method with Example。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。