Java Math.nextDown() 方法
java.lang.Math.nextDown() 是一个Java内置的数学方法。它沿负无穷大方向返回与用户指定的参数(d)相邻的浮点值。此方法等价于于nextAfter(d,Double.NEGATIVE_INFINITY)方法。nextDown()方法的实现可能比其等价的nextAfter()方法调用运行得更快。
1 语法
public static double nextDown(double a)
public static float nextDown(float a)
2 参数
a :起始浮点值
3 返回值
此方法返回更接近负无穷大的相邻浮点值。
- 如果参数为NaN,则此方法将返回NaN。
- 如果参数为零,并且我们正在处理double,则此方法将返回Double.MIN_VALUE。
- 如果参数为零并且我们正在处理float,则此方法将返回Float.MIN_VALUE。
- 如果参数为Negative Infinity,则此方法将返回Negative Infinity。
4 示例1
package com.yiidian;
/**
* 一点教程网: http://www.yiidian.com
*/
public class Demo
{
public static void main(String[] args)
{
float x = 0.0f / 0;
// 输入 NaN, 输出 NaN
System.out.println(Math.nextDown(x));
}
}
输出结果为:
NaN
5 示例2
package com.yiidian;
/**
* 一点教程网: http://www.yiidian.com
*/
public class Demo
{
public static void main(String[] args)
{
double x = 744.93;
// 输入double值,输出相邻浮点数
System.out.println(Math.nextDown(x));
}
}
输出结果为:
744.9299999999998
6 示例3
package com.yiidian;
/**
* 一点教程网: http://www.yiidian.com
*/
public class Demo
{
public static void main(String[] args)
{
float a = 328.7f;
//输入float值,输出相邻浮点
System.out.println(Math.nextDown(a));
}
}
输出结果为:
328.69998
7 示例4
package com.yiidian;
/**
* 一点教程网: http://www.yiidian.com
*/
public class Demo
{
public static void main(String[] args)
{
float x = 0.0f;
//输入零,输出float.MIN_VALUE为float
System.out.println(Math.nextDown(x));
}
}
输出结果为:
-1.4E-45
8 示例5
package com.yiidian;
/**
* 一点教程网: http://www.yiidian.com
*/
public class Demo
{
public static void main(String[] args)
{
double x = 0.0;
//输入零,输出Double.MIN_VALUE为double
System.out.println(Math.nextDown(x));
}
}
输出结果为:
-4.9E-324
9 示例6
package com.yiidian;
/**
* 一点教程网: http://www.yiidian.com
*/
public class Demo
{
public static void main(String[] args)
{
Float x = -1.0f / 0;
// 输入负无穷大,输出负无穷大
System.out.println(Math.nextDown(x));
}
}
输出结果为:
-Infinity
热门文章
优秀文章