Java Double.isFinite()方法

原文:https://www.studytonight.com/java-wrapper-class/java-double-isfinite-method

Java isFinite()方法是java.lang包的Double类的一部分。此方法用于检查传递的双精度值是否为有限双精度值。它返回布尔值true表示有限的双精度值,false表示 NaN 和无穷大的值。

语法:

public static boolean isFinite(double d)

参数:

传递的参数是双精度值 d,如果它是有限的或者不是,将被检查。

返回:

如果传递的双精度值具有有限值,则返回true,对于无限值和 NaN 值,则返回false

例 1:

这里,等效的布尔值根据作为参数传递的双精度值返回。

import java.lang.Double;

public class StudyTonight
{  
    public static void main(String[] args) 
    {  
        double d1 = 578648.67;  
        double d2 = d1/0.0; 
        double d3 = -d1/0.0;
        double d4 = 0X06792345;
        double d5 = 0.0/0.0;

             System.out.println("The value is : " +Double.isFinite(d1)); //returns true for finite value  
             System.out.println("The value is : " +Double.isFinite(d2)); //returns false for infinite value 
             System.out.println("The value is : " +Double.isFinite(d3)); //returns false for infinaite value 
             System.out.println("The value is : " +Double.isFinite(d4)); // returns true for finite value
             System.out.println("The value is : " +Double.isFinite(d5)); // returs false for NaN 

    }  

}

值为:真 值为:假 值为:假 值为:真 值为:假

例 2:

这里有一个用户定义的例子,任何使用这段代码的人都可以输入自己选择的值,并获得等效的输出。

import java.lang.Double;
import java.util.Scanner;

public class StudyTonight
{  
    public static void main(String[] args) 
    {  
        try
        {
           System.out.println("Enter the value");
           Scanner sc = new Scanner(System.in);
           double d = sc.nextDouble();

           boolean b = Double.isFinite(d);
           if(b== true)
           {
             System.out.println("Value is finite");
           }
           else
           {
             System.out.println("Value is infinite");
           }
         }     
         catch(Exception e)
         {
           System.out.println("Invalid Input");
         }
    }
}

输入值 NaN 值为无穷大 *输入值 输入值 0897.78 值为有限 *输入值 0x598 无效输入

实时示例:

在这里,您可以测试实时代码示例。您可以为不同的值执行示例,甚至可以编辑和编写您的示例来测试 Java 代码。