以下哪种舍入模式后面是将一个double转换为int?
使用给定rounding mode
将输入舍入到一位数的结果Input HALF_EVEN
Number UP DOWN CEILING FLOOR HALF_UP HALF_DOWN UNNECESSARY
5.5 6 5 6 5 6 5 6 throw ArithmeticException
2.5 3 2 3 2 3 2 2 throw ArithmeticException
1.6 2 1 2 1 2 2 2 throw ArithmeticException
1.1 2 1 2 1 1 1 1 throw ArithmeticException
1.0 1 1 1 1 1 1 1 1
-1.0 -1 -1 -1 -1 -1 -1 -1 -1
-1.1 -2 -1 -1 -2 -1 -1 -1 throw ArithmeticException
-1.6 -2 -1 -1 -2 -2 -2 -2 throw ArithmeticException
-2.5 -3 -2 -2 -3 -3 -2 -2 throw ArithmeticException
-5.5 -6 -5 -5 -6 -6 -5 -6 throw ArithmeticException
我知道它与我所引用的枚举的原始元素无关,但是这个表格肯定涵盖了双向下降到int的方式。列表中哪一个做到了? 提前谢谢。
答案 0 :(得分:3)
以下哪种舍入模式后面是将一个double转换为int?
它只是截断为零 - 在您的问题中由容易混淆的DOWN
表示。
将浮点数转换为整数类型T需要两个步骤:
在第一步中,如果
long
很长,则浮点数会转换为T
,如果int
为T
,则转换为byte
{1}},short
,char
或int
,如下所示:
如果浮点数为NaN(§4.2.3),则转换的第一步结果为int或long 0。
否则,如果浮点数不是无穷大,则浮点值将四舍五入为整数值V,使用IEEE 754舍入为零的模式舍入为零(第4.2.3节) 。然后有两种情况:
[...]
(其余与问题无关。)