【问题标题】:can not figure out how to keep my double...a double无法弄清楚如何保持我的双倍……双倍
【发布时间】:2017-08-10 16:56:01
【问题描述】:
if ((double) (points / tries) > hiScore) {
                        hiScore = (double) points / tries;
                        hiPoints = points;
                        hiTries = tries;

我不明白为什么 hiScore,甚至点数/尝试,总是保持 = 0(点和尝试都是整数,与 hiPoints 和 hiTries 相同)

【问题讨论】:

  • 我忘了说 hiScore 是双倍

标签: integer-division


【解决方案1】:

试试这个

if ( ((double) points / tries) > hiScore) {
                    hiScore = (double) points / tries;
                    hiPoints = points;
                    hiTries = tries;

甚至这个(不应该是必要的,因为优先转换操作超过了除法):

if ( (((double) points) / tries) > hiScore) {
                    hiScore = ((double) points) / tries;
                    hiPoints = points;
                    hiTries = tries;

你需要在除法运算之前转换你的整数变量。

【讨论】:

  • 很高兴为您提供帮助,欢迎来到 Stack Overflow。如果此答案解决了您的问题,请将其标记为已接受。
猜你喜欢
  • 1970-01-01
  • 2014-02-28
  • 2012-10-31
  • 2014-03-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-30
  • 2013-05-07
相关资源
最近更新 更多