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

更新于:2024年7月30日

1K+ 次浏览

启动您的职业生涯

完成课程获得认证

开始学习
广告