在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
Note: Here you can see that the Math.round() method converts the double to an integer by rounding off the number to the nearest integer.
For example – 10.6 will be converted to 11 using Math.round() method and 1ill be converted to 10 using typecasting or Double.intValue() method.