首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android数学计算不给期望值

Android数学计算不给期望值
EN

Stack Overflow用户
提问于 2016-10-18 20:44:30
回答 1查看 44关注 0票数 0

我试图计算,但我没有得到正确的结果,并努力理解其中的原因。

计算

代码语言:javascript
复制
float Signal = ((20 - 0) / (20 - 4)) * (F5 - 4) + 0;

F5 = 12,并被声明为“浮动”类型。

当运行计算器时,您将得到以下结果:

  1. ((20-0)/(20-4))*(12-4)+0
  2. (20)/(16)*(12-4)+0
  3. (1.25) * (8) +0
  4. 结果= 10

然而,当这在Android代码中运行时,我得到了8的结果。

为什么,我想知道发生了什么

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-18 20:46:43

第一个项((20 - 0) / (20 - 4))是用整数算法计算的,给出了一个1值。这使得最终结果8,而不管F5的类型如何。如果希望在浮点中发生这种情况,请使用浮点常量。

代码语言:javascript
复制
float Signal = ((20f - 0f) / (20f - 4f)) * (F5 - 4f) + 0f;

从技术上讲,您不需要由于数值提升而使所有常量都浮动,但对于那些阅读代码的人来说,您想要让所有的内容都成为浮点,这一点要清楚得多。

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

https://stackoverflow.com/questions/40117742

复制
相关文章

相似问题

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