Java Math.nextAfter() 方法
java.lang.Math.nextAfter() 返回第二个参数的方向相邻的第一个参数的浮点数。如果第一个参数和第二个参数相同,则此方法将返回第二个参数。
1 语法
public static double nextAfter(double a, double b)
public static float nextAfter(float a, double b)
2 参数
a :起始浮点值
b :方向值,表示返回起点的邻居或起点
3 返回值
此方法沿b的方向返回与起点a相邻的浮点数。
- 如果任何一个参数都是NaN,则此方法将返回NaN。
- 如果两个参数都为零,则方向将保持不变。
- 如果起始参数(a)等于正负Double.MIN_VALUE或Float.MIN_VALUE,并且方向参数(b)具有一个值,使得结果的幅度应较小,则此方法将返回零,其符号与参数相同。
- 如果起始参数(a)等于正或负Double.MAX_VALUE或Float.MAX_VALUE,并且方向参数(b)具有一个值,使得结果应具有较大的大小,则此方法将返回与该参数具有相同符号的Infinite。
- 如果起始参数(a)为无穷大,并且方向参数(b)的值应使结果的大小较小,则此方法将返回具有相同符号的Double.MAX_VALUE。
4 示例1
package com.yiidian;
/**
* 一点教程网: http://www.yiidian.com
*/
public class Demo
{
public static void main(String[] args)
{
double a = 84352.24;
double b = 154.284;
//为b打印下一个数字
System.out.println(Math.nextAfter(a, b));
//向a打印下一个b的数字
System.out.println(Math.nextAfter(b, a));
}
}
输出结果为:
84352.23999999999
154.28400000000002
5 示例2
package com.yiidian;
/**
* 一点教程网: http://www.yiidian.com
*/
public class Demo
{
public static void main(String[] args)
{
float a = 787.843f;
double b = 345.56;
//为b打印下一个数字
System.out.println(Math.nextAfter(a, b));
}
}
输出结果为:
787.84296
6 示例3
package com.yiidian;
/**
* 一点教程网: http://www.yiidian.com
*/
public class Demo
{
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
7 示例4
package com.yiidian;
/**
* 一点教程网: http://www.yiidian.com
*/
public class Demo
{
public static void main(String[] args)
{
float a = Float.MAX_VALUE;
float b = 793.37f;
System.out.println(Math.nextAfter(a, b));
}
}
输出结果为:
3.4028233E38
热门文章
优秀文章