int string float
「int string float」是编程里最常见的三种基础数据类型,和变量存储、数据运算以及输入输出处理有关。无论你学的是 Python、Java 还是 C 语言,几乎都会先遇到它们。
基本含义与用途
int 表示整数,用来存没有小数部分的数,比如人数、次数、年龄。string 表示字符串,用来存文本,比如姓名、地址、一段提示语。float 表示浮点数,用来存带小数的数值,比如身高、温度、价格。三者的区别在于“存什么”和“怎么算”:int 和 float 可以做加减乘除,string 更多是做拼接、查找、截取。很多程序出错,不是因为逻辑复杂,而是把该用 int 的地方写成了 string。
常见问题
最常见的问题是类型混用。比如把用户输入的“18”直接当数字加一,结果得到“181”,因为输入默认是 string。另一个问题是浮点数精度:0.1 加 0.2 在计算机里不一定正好等于 0.3,涉及金额时通常要换用整数分或专门的小数类型。还有 int 溢出,数值超过类型能表示的范围会得到意外结果。字符串比较也容易踩坑,有的语言里“10”小于“9”,因为按字符逐个比。
怎么判断或怎么选
判断方法很简单:看这个数据要不要参与数学运算,要就算数值,不要就存字符串;看有没有小数,有就用 float,没有就用 int。选的时候遵循“能整数不浮点”:计数、编号用 int;金额、测量值如果精度要求高,优先用整数最小单位或高精度类型;姓名、描述、编码这类不运算的内容一律用 string。拿不准时,先问一句:这个值需要相加相乘吗?需要,就往数值类型靠;不需要,就用字符串。