当前位置: 首页 > 面试题库 >

在Java中从double转换为float

鄂伟兆
2023-03-14
问题内容

如果我正在使用double,并将其转换为float,则该如何正确工作?值会被截断以适合浮点数吗?还是舍入值不同?抱歉,这听起来有点补救,但是我正在尝试掌握floatdouble转换的概念。


问题答案:

根据 Java语言规范的
第5.1.3节

从double到float的原始转换变窄由IEEE
754舍入规则(第4.2.4节)控制。这种转换可能会失去精度,但也会失去范围,导致非零双精度浮点为零,而有限双精度浮点为无穷大。双精度NaN转换为浮点型NaN,双精度无穷大转换为相同符号的浮点无穷大。

和第4.2.4节说:

Java编程语言要求浮点算术的行为就像每个浮点运算符将其浮点结果四舍五入到结果精度一样。不精确的结果必须四舍五入到最接近无限精确结果的可表示值;如果两个最接近的可表示值相等地接近,则选择其最低有效位为零的那个。这是IEEE
754标准的默认舍入模式,称为“最接近舍入”。



 类似资料:
  • 问题内容: 我怎么能转换,如一个在Java中? 问题答案: 你可以使用将转换为: 对于你的情况,看起来像你想要的:

  • 本文向大家介绍在Java中将Double转换为Integer,包括了在Java中将Double转换为Integer的使用技巧和注意事项,需要的朋友参考一下 首先,初始化一个double值- 现在,使用intValue()方法将Double转换为Integer值- 示例 以下是在Java中将Double转换为Integer的程序- 输出结果

  • 问题内容: 我是Java的新手,想知道double转换为int cast如何工作吗?我知道,只需将低32位转换为int就很容易了,但是将double(64位)转换为int(32位)呢?来自二进制的double中的那64位是Double- precision浮点格式(Mantissa),那么它如何在内部转换为int? 问题答案: 所有这些都记录在JLS的5.1.3节中。 第一步,将浮点数转换为lon

  • 问题内容: 在Java中,我想将双精度型转换为整数,我知道您是否这样做: 您得到y = 1。如果您这样做: 您可能会得到2。但是,我想知道:由于整数的双精度表示有时看起来像1.9999999998之类,所以通过Math.round()创建的双精度转换是否仍会导致截断的向下数字,而不是比我们要查找的舍入数(即:1而不是所示代码中的2)? (是的,我的确这样表示:x 是否有 任何 值,其中y将显示x的

  • 问题内容: 我面临与转换为相关的问题。实际上,我将浮点类型存储在数据库中,但是当我们通过下面的代码从数据库中获取数据时,它是类型。我们获得的价值以表格的形式出现。 那么我们如何获得像这样的格式数据呢? 问题答案: 只需将您的双曲投向花车即可。 还要注意,基本类型不能存储无限的数字集:

  • 问题内容: 我们如何在Java中转换成?我有一个要求,我们必须使用Double作为参数,但是我们越来越明白了,所以我必须转换成。 问题答案: 您需要使用该方法从BigDecimal对象获取double值。