在Java中将整数文字分配给double变量

在Java中将整数文字分配给double变量,第1张

在Java中将整数文字分配给double变量

Java正确地将其提升,否则会有相当多的代码是有问题的:-)

Java语言规范的5.1.2节详细介绍了这一点:

以下19个特定于原始类型的特定转换称为扩展原始转换:

byte to short, int, long, float, or doubleshort to int, long, float, or doublechar to int, long, float, or doubleint to long, float, or doublelong to float or doublefloat to double

扩展原始转换不会丢失有关数值总体大小的信息。确实,从整数类型到另一整数类型以及从float到double的转换根本不会丢失任何信息。数值将精确保留。在strictfp表达式中,从float到double的转换也精确地保留了数值。但是,这种不严格的转换可能会丢失有关转换值整体大小的信息。

将int或long值转换为float或将long值转换为double可能会导致精度损失,也就是说,结果可能会丢失该值的某些最低有效位。在这种情况下,使用IEEE
754舍入到最近模式,结果浮点值将是整数值的正确舍入版本。

从32位Java转换

int
到一个
double
(在Java中,具有精度50+位),将不会丢失的大小
任何精度。如果您使用的常数
long
由于其值而被强制为a ,则 可能会 失去精度,因为a
long
具有64位精度。



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

原文地址:https://54852.com/zaji/5490737.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存