Java 把double转换成整数

Java 把double转换成整数

给定一个双倍实数。编写一个Java程序,在Java中把给定的double转换成整数(int)。

例子

Input: double = 3452.234
Output: 3452

Input: double = 98.23
Output: 98

Double: double数据类型是双精度64位IEEE 754浮点。它的取值范围是无限的。double数据类型通常用于十进制值,就像float一样。double数据类型也绝对不能用于精确值,如货币。它的 默认值是0.0 。

Example: double d1 = 10.5

整数: 整数或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 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);
    }
}

输出

Double - 3452.345
Integer - 3452

时间复杂度: O(1),因为使用了常数操作。

辅助空间: O(1),因为不需要额外空间。

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

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

语法

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

例子

// Java program to convert Double to int
// 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

时间复杂度: O(1),因为使用了常数运算。

辅助空间: O(1),因为不需要额外空间。

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

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

语法

long Math.Round(Double doubleValue);

例子

// 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

时间复杂度: O(1),因为使用了常数运算。
辅助空间: O(1),因为不需要额外的空间。

注意: 在这里你可以看到Math.round()方法通过将数字四舍五入到最接近的整数来将双倍数转换为整数。

例如 - 10.6用Math.round() 方法转换为 11 ,1将 用类型转换或Double.intValue()方法 转换为 10

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程