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

Java初学者求助:已声明double变量,如何将其转换为整数?

Java中Double转整数的实用方法

先纠正个小问题:你写的double variable two;是无效的变量声明,Java变量名不能包含空格,应该改成double variableTwo;(推荐用驼峰命名法)。

下面是几种把double转成整数的常用方式,按需选择:

1. 强制截断转换(直接丢弃小数部分)

如果只需要保留整数部分、不管小数是多少都直接砍掉,用强制类型转换就行,语法是在变量前加(int):

double variableOne = 3.9;
double variableTwo = 5.1;

// 转换为整数
int intVarOne = (int) variableOne;
int intVarTwo = (int) variableTwo;

// 打印结果
System.out.println(intVarOne); // 输出3
System.out.println(intVarTwo); // 输出5

注意:这种方式是直接截断小数,不是四舍五入。

2. 四舍五入转换

如果需要按照数学里的四舍五入规则转整数,用Math.round()方法,它返回的是long类型,要是需要int类型可以再做一次强制转换:

double variableOne = 3.6;
double variableTwo = 5.3;

// 四舍五入转int
int roundedOne = (int) Math.round(variableOne);
long roundedTwo = Math.round(variableTwo); // 也可以直接用long接收

System.out.println(roundedOne); // 输出4
System.out.println(roundedTwo); // 输出5

3. 向上/向下取整转换

如果需要向下取整(不管小数多少都往小的整数靠)或者向上取整(不管小数多少都往大的整数靠),用Math.floor()和Math.ceil(),这两个方法返回的是double类型,需要转成int:

double num = 3.1;

// 向下取整,得到3
int floorNum = (int) Math.floor(num);
// 向上取整,得到4
int ceilNum = (int) Math.ceil(num);

System.out.println(floorNum);
System.out.println(ceilNum);

内容的提问来源于stack exchange,提问作者Eve Pesci

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.02 02:02:29