小编Bru*_*uce的帖子

为什么Java在这种情况下会将double类型转换为float类型呢?

今天,我定义了两个浮点变量f1f2。然后我执行加法“+”算术运算并分配给浮点变量f

\n
float f1 = 0.5048076923076923F;\nfloat f2 = 0.5048076923076923F;\nfloat f = f1 + f2;\n
Run Code Online (Sandbox Code Playgroud)\n

这是输出:
\n在此输入图像描述

\n

根据这张图,算术运算中的所有浮点值( floatdouble )( +, \xe2\x88\x92, *, /)都转换为double类型:\n图片来源:http://www.mathcs。 emory.edu/~cheung/Courses/170/Syllabus/04/mixed.html
\n图像

\n

我发现了一个相同的问题,但它没有解释原因。为什么eclipse没有任何问题提示?这就是“f1 + f2”的值为float类型的原因吗?而且,如果像上图所示,为什么 Java 会自动将 double 类型转换为 float 类型呢?\n图片来源:https://www.homeandlearn.co.uk/java/short_float_variables.html

\n

java eclipse

4
推荐指数
1
解决办法
895
查看次数

标签 统计

eclipse ×1

java ×1