int和real的区别
「int」和「real」是编程和数据处理中常见的两种数值类型,主要用来区分“整数”和“带小数的数”。理解它们的差别,能帮你避免计算误差、存储浪费和类型转换带来的麻烦。
基本含义与用途
int 代表整数类型,只能存不带小数点的数,比如人数、次数、编号。它通常占用固定字节,运算直接、精确。real 代表实数/浮点类型,用来存带小数的数,比如身高、温度、平均值。它用浮点方式表示,范围大,但很多小数无法被精确存储。简单说:需要“整整齐齐”的计数用 int,需要“连续量”的测量值用 real。
常见问题
最常见的问题是误用 real 存整数或做精确比较。比如把金额、库存数量存成 real,累加后可能出现 0.30000000000000004 这类尾差,导致“看起来相等却不相等”。反过来,用 int 存小数会被截断或四舍五入,丢失信息。另一个问题是类型转换:int 和 real 混合运算时,结果往往向 real 靠拢,若不注意可能让本该精确的计数变成近似值。此外,real 的精度有限,超大或超小数值可能损失有效数字。
怎么判断与怎么选
判断标准看三点:数据是否天然带小数、是否需要精确相等比较、是否参与大量累加。计数、序号、开关状态选 int;测量值、比例、科学计算选 real。涉及金额等要求精确的场景,应使用定点小数或整数最小单位,而不是 real。写代码时尽量让同类型运算,避免频繁互转;比较 real 时用“差值小于某个小量”的方式,而不是直接判等。拿不准时,先问自己:这个数会不会出现“半个”?会,就考虑 real;不会,就用 int。