CodeGym /Java 博客 /随机的 /如何在 Java 中将 int 转换为 double
John Squirrels
第 41 级
San Francisco

如何在 Java 中将 int 转换为 double

已在 随机的 群组中发布

Java 中的 int 和 double 类型简介

int是整数的原始 Java 类型(例如 -25、0、1828182845)。这种类型使用 32 位来存储变量值。int数的取值范围是-231到231 - 1 或者说是-2147483648到2147483647。Java中的double类型表示浮点数,在内存中分配64位,取值范围是-1.7 *10308 到 1.7*10308。如果您以相同的形式表示 int 的范围,它将是 -2*109 до +2*109。我认为很明显,任何数量的 int 类型都适合分配给多个 double 基本类型的内存。此外,任何整数都可以表示为小数部分为零的小数。从数学的角度来看,毫无疑问:5 = 5.0 or -57.0 = -57。

将 int 转换为 double

从 Java 的角度来看,double 和 int 类型也是兼容的。由于将 int 转换为 double 是关于将更大转换为更小,因此这种转换称为隐式类型套管或加宽。通过将 int 值分配给 double 变量,您可以在 Java 中自动将 int 转换为 double。让我们看一个类型转换的代码示例:

public class intToDouble {
   public static void main(String[] args) {
       int myInt1 = 10;
       int myInt2 = 2147483647;
       double myDouble1, myDouble2;
       System.out.println("my integers are: " + myInt1 + ", " + myInt2);
       myDouble1 = myInt1;
       myDouble2 = myInt2;
       System.out.println("after typecasting/widening to double: " + myDouble1 + ", " + myDouble2);
   }
}
这是输出:
我的整数是: 10, 2147483647 在类型转换/扩大到双倍之后:10.0, 2.147483647E9
注:这里的E9是109的意思,叫科学记数法。另请注意,双精度数通常用句点分隔小数部分。如果您声明一个双精度变量并在其中放入一个值,则没有必要这样做,但在输出中双精度数将始终具有小数部分,即使它为零。

使用中性数值运算将 int 转换为 double

此外,Java 中所有对不同类型变量的数值运算都会导致类型加宽。也就是说,操作的结果将是一个更广泛的类型。因此,要从 int 转换为 double,可以使用“中性”操作。例如,将 int 乘以 1.0(双精度数)或将 0.0 添加到 int。以下是此类类型转换的示例:

public class intToDouble {
   public static void main(String[] args) {
       double a = 1;  //you can also write 1.0 here. If you print it out it will be 1.0
       int b = 5, x = 7;
       System.out.println(x + 0.0);
       System.out.println(a*b);
   }
}
输出是:
7.0 5.0
顺便说一句,您不仅可以将 int 转换为 double,还可以将所有数字原始类型转换为 double。以下是可能的从小到大的转换顺序:
Byte -> Short -> Char -> Int -> Long -> Float -> Double
评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION