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


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。