int和double有什么区别

「int」和「double」是编程语言里最常见的两种数据类型,主要用来表示数字,但它们的存储方式和适用场景不同。理解这两者的区别,能帮你避免计算误差或程序报错。
基本含义与用途
int 是整数类型,用来存不带小数点的数,比如人数、次数、编号。它占用的空间通常较小,运算直接、精确。double 是双精度浮点类型,用来存带小数点的数,比如身高、温度、金额比例。它用类似科学计数法的方式存储,能表示很大或很小的范围,但并非所有小数都能被精确表示。
常见问题
最典型的问题是误用 double 做精确计算。例如 0.1 加 0.2 在 double 里可能不等于 0.3,而是接近 0.30000000000000004,直接比较会出意外。反过来,用 int 存小数会直接丢失小数部分,或者根本编译不通过。另外,int 有取值范围上限,数值过大时会溢出,得到错误结果;double 虽然范围大,但有效数字位数有限,超大整数转成 double 也可能丢精度。
怎么判断和怎么选
看数据本身:只数个数、编号、循环计数,用 int;需要小数、比例、测量值,用 double。看是否需要精确相等比较:涉及钱或必须精确的累加,别直接用 double,可改用整数分单位存储或专用小数类型。看范围:确认数值不会超过 int 上限,否则选更大整数类型或 double。最后记住一条:整数运算优先 int,小数运算用 double,但别拿 double 做精确判等。