在 Java 中将 Double 转换为浮点数

Rupam Yadav 2023年10月12日
  1. 在 Java 中使用 TypeCasting 将 Double 转换为 Float
  2. 在 Java 中使用 Double.floatValue() 将 Double 转换为 Float
在 Java 中将 Double 转换为浮点数

在本教程中,我们将学习如何在 Java 中将双精度值转换为浮点数。Double 和 float 类型用于在 Java 中存储实数或浮点数,但 double 数据类型比 float 更精确。请记住,浮点数的默认数据类型是 double。

在 Java 中使用 TypeCasting 将 Double 转换为 Float

要定义浮点类型,我们必须使用后缀 fF,而后缀 dD 是可选的。float 的默认值是 0.0f,而 double 的默认值是 0.0d。默认情况下,浮点数在 Java 中被视为双精度数。

TypeCasting 是我们将一种原始数据类型的值分配给另一种类型的过程。我们知道 double 是比 float 更大的数据类型,所以我们需要向下转换它。要将函数 double 类型转换为 float,我们需要在十进制值之前的括号中提及 float 关键字。

我们将看到 double 数据类型需要更多内存来存储双精度数字,并且在输出中更准确。相比之下,float 数据类型需要更少的空间来存储单精度数字,并提供最多六位小数的结果。因此,我们明确地将双 d 类型转换为浮动 f

public class JavaDoubleToFloat {
  public static void main(String args[]) {
    double d1 = 1.0;
    double d2 = 3.0;
    double d = d1 / d2;
    System.out.println("double d : " + d);

    float f = (float) d;
    System.out.println("float f : " + f);
  }
}

输出:

double d : 0.3333333333333333
float f : 0.33333334

在 Java 中使用 Double.floatValue() 将 Double 转换为 Float

在 Java 中将 double 值转换为 float 数据类型的另一种方法是使用包装类 Double。此类将原始数据类型 double 包装在一个对象中。

在这里,我们创建了一个新的 double 对象 db,在构造函数中使用 new 关键字传递了 double 变量 d;它代表原始的 double 参数。我们使用了 floatValue() 方法,它在缩小原始转换范围后将 double 数据类型的值作为浮点数返回。

使用窄基元转换,我们意识到我们试图将较大的数据类型存储到较小的数据类型中,因此可能会丢失一些信息和精度。在输出中,我们可以看到 double 被转换为 float 并且不太精确。

public class JavaDoubleToFloat {
  public static void main(String args[]) {
    double d1 = 1.0;
    double d2 = 3.0;
    double d = d1 / d2;
    System.out.println("double d : " + d);

    Double db = new Double(d);
    float f1 = db.floatValue();
    System.out.println("float f1 : " + f1);
  }
}

输出:

double d : 0.3333333333333333
float f1 : 0.33333334
作者: Rupam Yadav
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn

相关文章 - Java Double

相关文章 - Java Float