在 Java 中将 Double 转换为浮点数
在本教程中,我们将学习如何在 Java 中将双精度值转换为浮点数。Double 和 float 类型用于在 Java 中存储实数或浮点数,但 double 数据类型比 float 更精确。请记住,浮点数的默认数据类型是 double。
在 Java 中使用 TypeCasting 将 Double 转换为 Float
要定义浮点类型,我们必须使用后缀 f
或 F
,而后缀 d
或 D
是可选的。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 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 中将 Int 转换为 Double
- 在 Java 中将 Long 转换为 Double
- Java 中的双精度
- 在 Java 中比较双精度数
- Java 中的浮点数和 Double 数据类型
- 在 Java 中将 Double 转换为字符串