int float区别

「int」和「float」是编程中两种最常见的数据类型,区别在于它们分别用来表示整数和小数。理解这两个词,主要和数值的存储方式、精度以及适用场景有关。
基本含义与用途
int 是 integer 的缩写,表示整数,比如 1、-5、100,不带小数点。它通常占用固定的内存空间,运算速度快,适合计数、编号、索引等场景。float 是浮点数的意思,用来表示带小数的数值,比如 3.14、-0.5、2.0。它采用类似科学计数法的形式存储,能表示很大或很小的数,但并不是所有小数都能被精确表示。
常见问题
最典型的问题是精度丢失。很多十进制小数在二进制中无法精确表达,比如 0.1 加 0.2 在 float 运算中可能不等于 0.3,而是得到一个非常接近的值。这在涉及金额、测量数据时容易出问题。另一个问题是类型混用:整数和浮点数一起运算时,结果通常会自动变成浮点型,若把浮点结果强行赋给整数变量,小数部分会被截断而不是四舍五入。此外,float 能表示的范围有限,超出范围会出现溢出或精度严重下降。
怎么判断与怎么选
判断依据很简单:需要精确的整数计数,就用 int;需要表示小数或参与除法得到小数结果,就用 float。涉及钱款、需要严格精确的场合,通常不用 float,而改用定点数或专门的高精度类型。做科学计算、图形坐标、物理模拟时,float 更合适。写代码时留意变量的声明类型和运算结果的类型,避免无意中把小数截成整数,也避免用浮点数做相等比较,改用判断差值是否小于某个小阈值更稳妥。