【问题标题】:Casting Double object to int将 Double 对象转换为 int
【发布时间】:2014-12-02 12:45:58
【问题描述】:

如何将 Double 对象转换为 int?以下代码有效,但似乎有点不合常规(强制转换两次):

Double d = new Double(4.0);
int i = (int)(double)d;

当我尝试int i = (int)d 时,我从 Eclipse (Cannot cast from Double to int) 收到一个错误,这是有道理的。不过,有没有更简单的方法可以将 Double 对象转换为 int?

【问题讨论】:

    标签: java casting int double


    【解决方案1】:
    Double.intValue()
    

    是提供的进行该转换的方法。

    【讨论】:

    • 谢谢,我会在 7 分钟内接受。另外,出于好奇,有Integer.charValue()这样的东西吗?我已经看到了 Integer 对象的 byteValue、shortValue、intValue、longValue、floatValue 和 doubleValue,但没有看到 charValue。
    • @Kootling 你应该问一个不同的问题。
    【解决方案2】:

    如果将 double 转换为 int,则会丢失十进制值。因此 4.99 double 变为 4 int。如果还想转换比试试-

    int i = d.intValue();

    【讨论】:

      【解决方案3】:

      在您的情况下,您使用

      Double.intValue()
      

      作为一种将 Double Object 转换为 Integer 的方法。

      【讨论】:

        猜你喜欢
        • 2011-05-10
        • 1970-01-01
        • 2013-06-02
        • 1970-01-01
        • 2015-11-06
        • 2019-02-19
        • 2012-09-02
        • 2013-01-20
        相关资源
        最近更新 更多