Java StrictMath nextAfter()方法
- nextAfter( double start, double direction )是Java中StrictMath类的内置方法,用于获取浮点数,在第二个参数的方向上与起点相邻。这个方法根据参数的类型和变化产生了一些条件。
- 当两个参数都相等时,结果是第二个参数。
- 当任何一个参数是NaN时,结果是NaN。
- 当两个参数都是有符号的零时,结果是没有任何变化的方向。
- 当开始是±Double.MIN_VALUE并且方向有一个值使得结果有一个较小的幅度时,结果是一个与开始相同符号的零。
- 结果是Double.MAX_VALUE,其符号与start相同,当start为无限时,并且方向有一个值,使得结果的幅度较小。
- 当开始等于±Double.MAX_VALUE时,结果是一个与开始相同符号的无穷大,并且方向有一个值,使得结果应该有一个较大的幅度。
语法:
public static double nextAfter(double start, double direction)
参数。该方法接受两个参数。
- start:这是一个双倍类型的参数,指的是起始的浮点值。
- direction:这是一个双倍类型的参数,指的是表明是否应该返回start的邻居或start的值。
返回值。该方法返回在方向上与start相邻的浮点数。
示例 :
输入: start = 72.74d
direction = 1.2d
输出:72.73999999999998
下面的程序说明了java.lang.StrictMath.nextAfter()方法。
// Java program to demonstrate nextAfter()
import java.lang.*;
public class Geeks {
public static void main(String[] args)
{
double start = 23.62d, direction = 0.0d;
double result = StrictMath.nextAfter(start, direction);
System.out.println("The NextAfter is = " + result);
result = StrictMath.nextAfter(start, 9.2d);
System.out.println("The NextAfter is = " + result);
result = StrictMath.nextAfter(direction, 7.2d);
System.out.println("The NextAfter is =" + result);
// Returns 0 if both arguments are zero
result = StrictMath.nextAfter(direction, 0.0d);
System.out.println("The NextAfter is =" + result);
}
}
输出:
The NextAfter is = 23.619999999999997
The NextAfter is = 23.619999999999997
The NextAfter is =4.9E-324
The NextAfter is =0.0
- nextAfter( float start, double direction )是Java中StrictMath类的一个内置方法,用来获取在第二个参数方向上与起点相邻的浮点数。
- 当两个参数都相等时,结果是第二个参数。
- 当任何一个参数为NaN时,结果为NaN。
- 当两个参数都是有符号的零时,结果是没有任何变化的方向。
- 当开始是±Float.MIN_VALUE,并且方向有一个值,使得结果应该有一个较小的幅度时,结果是一个与开始相同的符号的零。
- 结果是Float.MAX_VALUE,符号与start相同,当start为无限时,并且方向有一个值,使得结果应该有一个较小的幅度。
- 当开始等于±Float.MAX_VALUE时,结果是一个与开始相同符号的无穷大,并且方向有一个值,使结果应该有一个较大的幅度。
语法:
public static double nextAfter(float start, double direction)
参数。该方法接受两个参数。
- start:这是一个浮点类型的参数,指的是起始浮点值。
- direction:这是一个双数类型的参数,指的是表明是否应该返回start的邻居或start的值。
返回值。该方法返回浮点数,在方向上与start相邻。
示例 :
输入: start = 22.2f
direction = 0.0d
输出:22.20000076293945
Below programs illustrate the java.lang.StrictMath.nextAfter() method:
// Java program to demonstrate nextAfter()
import java.lang.*;
public class Geeks {
public static void main(String[] args)
{
double start = 42.9f;
double direction = 0.0d;
double result = StrictMath.nextAfter(start, direction);
System.out.println("The NextAfter is = " + result);
result = StrictMath.nextAfter(start, 9.2d);
System.out.println("The NextAfter is = " + result);
result = StrictMath.nextAfter(direction, 7.2d);
System.out.println("The NextAfter is =" + result);
// Returns 0 if both arguments is zero
result = StrictMath.nextAfter(direction, 0.0d);
System.out.println("The NextAfter is =" + result);
}
}
输出:
The NextAfter is = 42.9000015258789
The NextAfter is = 42.9000015258789
The NextAfter is =4.9E-324
The NextAfter is =0.0