如何在Java中将double转换为int转换

如何在Java中将double转换为int转换,第1张

如何在Java中将double转换为int转换

所有这些都记录在JLS的5.1.3节中。

第一步,将浮点数转换为long(如果T为long)或int(如果T为byte,short,char或int),如下所示:

如果浮点数为NaN(第4.2.3节),则转换第一步的结果为int或long 0。

  • 否则,如果浮点数不是无穷大,则将浮点值舍入为整数值V,并使用IEEE 754舍入为零模式(第4.2.3节)将其舍入为零。然后有两种情况:

    • 如果T为long,并且此整数值可以表示为long,那么第一步的结果就是long值V。

    • 否则,如果此整数值可以表示为int,则第一步的结果是int值V。

  • 否则,以下两种情况之一必须为真:

    • 该值必须太小(大值的负值或负无穷大),并且第一步的结果是int或long类型的最小可表示值。

    • 该值必须太大(正值较大或正无穷大),并且第一步的结果是int或long类型的最大可表示值。

(这里的第二个步骤是无关紧要的,当

T
int
)。

在大多数情况下,我希望可以使用硬件支持来 实现 这一点-将浮点数转换为整数通常是由CPU处理的。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4979868.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存