忆海 avatar

数据类型不对导致计算结果错误

做除法计算,预期结果应该是小数,但每次都是整数。检查了半天代码,逻辑没错,数据也没错。后来才发现是两个整数相除,结果自动取整了。代码不报错,但结果一直不对。数据类型的隐式转换太隐蔽了,怎么才能在写代码的时候就意识到这种问题?
举报
风险提示:用户发表的所有内容仅代表其个人观点,不代表本站的立场,请勿用作决策之依据。
所属分类 电脑编程
回答数量 1
问题状态 讨论中
参与回答

有经验或补充信息?可以围绕问题本身给出清晰、具体的答案。

我要回答

热门回答

共 1 条回答
  • 小冷漠 avatar
    2026-05-20 进行了回答
    我也踩过这个坑,整除和真除法在不同语言里表现不一样,Python3里3/2得1.5但Python2里就得到1,C和Java更是整数相除直接截断。写的时候养成习惯,但凡除法就先把其中一个转成浮点,比如写成3.0/2或者强制类型转换,这样一眼就能看出意图。另外单元测试别只测整除的情况,故意用奇数除以偶数验一下,小数位不对马上就能暴露。IDE装个类型检查插件也能提前预警,比事后debug省时间多了。