首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么我的浮动类型转换表达式返回两个不同的值?

为什么我的浮动类型转换表达式返回两个不同的值?
EN

Stack Overflow用户
提问于 2020-03-12 04:00:11
回答 2查看 128关注 0票数 0

下面是我正在使用的表达式:

代码语言:javascript
复制
float firstValue = (float) (5 / 2); //output is 2.0
float secondValue = (float) 5 / 2; //output is 2.5

我在这里很难理解为什么这种类型的铸造会返回两个不同的值。我知道我可以只做(5f / 2f),但是我想用另一种类型的转换来进行一个表达式的实验。为什么firstValue 2.0和secondValue 2.5?.5去哪儿了?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-03-12 04:01:49

第一个是整数数学。这

代码语言:javascript
复制
float firstValue = (float) (5 / 2); 

先除以五乘二,再得二。然后将两个转换为2.0。第二种是浮点数学。

代码语言:javascript
复制
float secondValue = 5f / 2; 

它是2.5 (和float)。因为float除以intfloat

票数 2
EN

Stack Overflow用户

发布于 2020-03-12 07:36:30

  1. 浮点数firstValue =(浮点数) (5 / 2);//整数除法

第一步是做5/2 calculation.Then,在float.If中给出答案,进一步解释5和2是整数。在计算两个int数的int后,最后的答案由int返回。这里,最后的int应答(2)被转换为浮点应答。也就是说,这里使用的是更广泛的转换。因此,最后的答案是浮点数(2.0)中显示的整数值(2)。

2.浮动secondValue =(浮动)5/ 2;//输出为2.5,因为第一个值(5)被命名为浮点数,最后的答案是十进制本身

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60647458

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档