【问题标题】:Java float to long TypecastJava浮点到长类型转换
【发布时间】:2013-07-07 09:48:42
【问题描述】:

谁能告诉我我在这里做错了什么。我可以将 y 类型转换为 long,但同样不适用于 x/y。

class Test {

long convert(int x, float y) {
    //return (long) x/y; // cannot convert from float to long
    return (long)y;
    }

}

【问题讨论】:

标签: java type-conversion


【解决方案1】:

这里唯一的问题是括号中的内容。你写就好了

return (long) (x / y);

当你写(long) x / y时,它被视为((long) x) / y,根据Java的打字规则,这是一个float

【讨论】:

    【解决方案2】:

    这里

    return (long) x/y; 
    

    您将x 转换为long,但由于y,整个表达式仍然是float,因此当您尝试返回它时,它会显示错误。同return ((long)x/y);

    更好:

    return (long) (x/y);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-04-02
      • 1970-01-01
      • 2011-02-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多