📌  相关文章
📜  在Java中将 Double 转换为 Integer

📅  最后修改于: 2022-05-13 01:54:56.818000             🧑  作者: Mango

在Java中将 Double 转换为 Integer

给定一个 Double 实数。编写一个Java程序,将给定的 double 数转换为Java中的 Integer (int)。

例子:

Input: double = 3452.234
Output: 3452

Input: double = 98.23
Output: 98

精度:双精度数据类型是双精度 64 位 IEEE 754 浮点数。它的价值范围是无穷无尽的。双精度数据类型通常用于十进制值,就像浮点数一样。 double 数据类型也不应该用于精确值,例如货币。它的默认值为 0.0

Example: double d1 = 10.5

Integer: Integer 或 int 数据类型是 32 位有符号二进制补码整数。它的值范围介于 – 2,147,483,648 (-2^31) 到 2,147,483,647 (2^31 -1)(含)之间。其最小值为 – 2,147,483,648,最大值为 2,147,483,647。它的默认值为 0 。 int 数据类型通常用作整数值的默认数据类型,除非内存没有问题。

Example: int a = 10

方法

有许多方法可以将 Double 数据类型转换为 Integer (int) 数据类型。下面列出了其中的一些。

  • 使用类型转换
  • 使用Double.intValue()方法
  • 使用Math.round()方法 

方法 1:使用类型转换

这种技术非常简单且用户友好。

句法:

double data = 3452.345
int value = (int)data;

例子:

Java
// Java program to convert Double to
// int using Typecasting
 
public class GFG {
 
    // main method
    public static void main(String args[])
    {
 
        // Get the double value
        double data = 3452.345;
        System.out.println("Double - " + data);
 
        // convert into int
        int value = (int)data;
 
        // print the int value
        System.out.println("Integer - " + value);
    }
}


Java
// Java program to convert Double to int
// using using Double.intValue()
public class GFG {
 
    // main method
    public static void main(String args[])
    {
 
        // Get the double value
        Double data = 3452.345;
        System.out.println("Double - " + data);
        // Create a wrapper around
        // the double value
        Double newData = new Double(data);
 
        // convert into int
        int value = newData.intValue();
 
        // print the int value
        System.out.println("Double - " + value);
    }
}


Java
// Java program to convert Double to int
// using Math.round()
 
public class GFG {
 
    // main method
    public static void main(String args[])
    {
 
        // Get the double value
        double data1 = 3452.345;
        System.out.println("Double : " + data1);
 
        // convert into int
        int value1 = (int)Math.round(data1);
 
        // print the int value
        System.out.println("Integer : " + value1);
       
          double data2 = 3452.765;
        System.out.println("\nDouble : " + data2);
 
        // convert into int
        int value2 = (int)Math.round(data2);
 
        // print the int value
        System.out.println("Integer : " + value2);
    }
}


输出
Double - 3452.345
Integer - 3452

方法 2:使用 Double.intValue() 方法

这种技术类似于类型转换方法。类型转换方法和该方法的主要区别在于,类型转换方法是一个显式方法,而该方法是一个 Wrapper 类 Double 截断小数点后的所有数字。

句法:

double data = 3452.345
Double newData = new Double(data);
int value = newData.intValue();

例子:

Java

// Java program to convert Double to int
// using using Double.intValue()
public class GFG {
 
    // main method
    public static void main(String args[])
    {
 
        // Get the double value
        Double data = 3452.345;
        System.out.println("Double - " + data);
        // Create a wrapper around
        // the double value
        Double newData = new Double(data);
 
        // convert into int
        int value = newData.intValue();
 
        // print the int value
        System.out.println("Double - " + value);
    }
}

输出:

Double - 3452.345
Double - 3452

方法 3:使用 Math.round() 方法

Math.round()接受一个双精度值并将其转换为最接近的长整数值,方法是在该值上加上 0.5 并修剪其小数点。然后可以使用类型转换将 long 值转换为 int。

句法:

long Math.Round(Double doubleValue);

例子:

Java

// Java program to convert Double to int
// using Math.round()
 
public class GFG {
 
    // main method
    public static void main(String args[])
    {
 
        // Get the double value
        double data1 = 3452.345;
        System.out.println("Double : " + data1);
 
        // convert into int
        int value1 = (int)Math.round(data1);
 
        // print the int value
        System.out.println("Integer : " + value1);
       
          double data2 = 3452.765;
        System.out.println("\nDouble : " + data2);
 
        // convert into int
        int value2 = (int)Math.round(data2);
 
        // print the int value
        System.out.println("Integer : " + value2);
    }
}
输出
Double : 3452.345
Integer : 3452

Double : 3452.765
Integer : 3453