You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Kotlin中进行类型转换?将Double变量存入Int变量的方法

Java中Double变量转Int变量的方法

你之前写的double doubleNumber = (int)intNumber是把int类型转成double类型的写法,和你现在需要的Double转Int刚好相反,下面是几种正确的实现方式:

  • 强制类型转换(截断小数)
    这种方式会直接舍弃小数部分,只保留整数部分,适合不需要四舍五入的场景。如果是包装类Double,需要先调用doubleValue()转成基本类型double再转换:

    // 包装类Double转int
    Double doubleNum = 5.9;
    int intNum = (int) doubleNum.doubleValue();
    // 结果是5
    
    // 基本类型double转int
    double doubleNum = 5.9;
    int intNum = (int) doubleNum;
    // 结果也是5
    
  • 四舍五入转换
    如果需要按四舍五入规则转换,使用Math.round()方法,该方法返回long类型,所以需要再转成int:

    Double doubleNum = 5.9;
    int intNum = (int) Math.round(doubleNum);
    // 结果是6
    
    double doubleNum = 5.4;
    int intNum = (int) Math.round(doubleNum);
    // 结果是5
    
  • 注意事项

    • 如果Double的值超出int类型的范围(大于Integer.MAX_VALUE即2147483647,或小于Integer.MIN_VALUE即-2147483648),强制转换会得到错误的数值,建议转换前先判断范围:
      Double doubleNum = 3000000000.0;
      if (doubleNum >= Integer.MIN_VALUE && doubleNum <= Integer.MAX_VALUE) {
          int intNum = (int) doubleNum.doubleValue();
      } else {
          // 处理超出范围的情况,比如抛出异常或给出提示
      }
      

内容的提问来源于stack exchange,提问作者AmirAli Ghafouri

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 14:15:25