Java程序:将Double转换为数值基本数据类型
假设我们有一个double类型的数值,我们的任务是将其转换为其他数值基本数据类型。要执行此操作,我们需要显式转换,因为double是Java中最大的基本数据类型。将较大数据类型转换为较小数据类型的过程称为显式转换,也称为缩小转换。
数据类型用于指定存储在不同变量中的值的类型。在Java中,有8种基本数据类型,其中6种是数值类型,包括double、float、int、long、byte和short。
示例场景
Input: double obj = 39.45; Output: result = 39
将"double"转换为"int"
double是一种表示浮点数的数据类型,而int表示整数值。要将double转换为int,我们可以使用显式类型转换。在此转换过程中,小数部分将被删除。
示例
在下面的示例中,我们将double转换为int基本类型。
public class Main { public static void main(String[] args) { double doubleTypeVal = 10.04; System.out.println("Before converting: " + doubleTypeVal); int intTypeVal = (int)doubleTypeVal; System.out.println("After converting to int: " + intTypeVal); } }
以上代码的输出如下:
Before converting: 10.04 After converting to int: 10
将"double"转换为"byte"
byte数据类型表示-128到127之间的整数值。将double转换为byte时,小数部分将被截断,结果将存储为带符号的8位整数。
示例
在此示例中,给定的double值超过了byte数据类型的范围。因此,结果将被环绕到负值。
public class Main { public static void main(String[] args) { double doubleTypeVal = 159.0454; System.out.println("Before converting: " + doubleTypeVal); byte byteTypeVal = (byte)doubleTypeVal; System.out.println("After converting to byte: " + byteTypeVal); } }
运行以上代码后,将产生以下结果:
Before converting: 159.0454 After converting to byte: -97
将"double"转换为"short"
当我们将double转换为short时,小数部分将被丢弃。
示例
下面的示例说明如何将double转换为short。
public class Main { public static void main(String[] args) { double doubleTypeVal = 592.04; System.out.println("Before converting: " + doubleTypeVal); short shortTypeVal = (short)doubleTypeVal; System.out.println("After converting to short: " + shortTypeVal); } }
执行此代码后,将显示以下结果:
Before converting: 592.04 After converting to short: 592
将"double"转换为"float"
与double数据类型类似,float也用于存储浮点数。但是,double的大小大于float。因此,我们可以使用显式类型转换将double转换为float。
示例
在此示例中,我们将double转换为float数据类型。
public class Main { public static void main(String[] args) { double doubleTypeVal = 159.0454; System.out.println("Before converting: " + doubleTypeVal); float floatTypeVal = (float)doubleTypeVal; System.out.println("After converting to float: " + floatTypeVal); // checking type System.out.println("Type of " + floatTypeVal + ": " + ((Object)floatTypeVal).getClass().getSimpleName()); } }
运行此代码后,将打印以下结果:
Before converting: 159.0454 After converting to float: 159.0454 Type of 159.0454: Float
将"double"转换为"long"
long数据类型在我们需要比int提供的范围更宽的值时使用。在将double转换为long的过程中,double值的小数部分将被丢弃。
示例
以下代码说明如何将double转换为long。
public class Main { public static void main(String[] args) { double doubleTypeVal = 159.0454; System.out.println("Before converting: " + doubleTypeVal); long longTypeVal = (long)doubleTypeVal; System.out.println("After converting to long: " + longTypeVal); // checking type System.out.println("Type of " + longTypeVal + ": " + ((Object)longTypeVal).getClass().getSimpleName()); } }
以上代码的输出如下:
Before converting: 159.0454 After converting to long: 159 Type of 159: Long
广告