给定一个 Double 实数。编写一个 Java 程序,将给定的双精度数转换为 Java 中的整数 (int)。
例子:
Input: double = 3452.234 Output: 3452 Input: double = 98.23 Output: 98
Double:双精度数据类型是双精度 64 位 IEEE 754 浮点数。它的价值范围是无穷无尽的。双精度数据类型通常用于十进制值,就像浮点数一样。 double 数据类型也不应该用于精确值,例如货币。其默认值为 0.0。
例:双 d1 = 10.5
Integer:Integer 或 int 数据类型是 32 位有符号二进制补码整数。它的 value-range 介于 - 2,147,483,648 (-2^31) 到 2,147,483,647 (2^31 -1)(含)之间。它的最小值是 - 2,147,483,648,最大值是 2,147,483,647。它的默认值为 0。int 数据类型通常用作整数值的默认数据类型,除非内存没有问题。
例:整数 a = 10
方法
有许多方法可以将 Double 数据类型转换为 Integer (int) 数据类型。下面列出了其中的一些。
- 使用类型转换
- 使用 Double.intValue() 方法
- 使用 Math.round() 方法
方法 1 - 使用类型转换
这个技巧很简单,user-friendly。
句法 -
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);
}
}
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.
相关用法
- Java Doubles.indexOf(double[] array, double target)用法及代码示例
- Java Doubles.indexOf(double[] array, double[] target)用法及代码示例
- Java String转Double用法及代码示例
- Java Double转String用法及代码示例
- Java Double转String用法及代码示例
- Java boolean转integer用法及代码示例
- Java integer转boolean用法及代码示例
- Java DoubleStream reduce(double identity, DoubleBinaryOperator op)用法及代码示例
- Java Double byteValue()用法及代码示例
- Java Double.compareTo()用法及代码示例
- Java Double.equals()用法及代码示例
注:本文由纯净天空筛选整理自Rajput-Ji大神的英文原创作品 Convert Double to Integer in Java。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。