在大多数编程语言(如 Python、Java、C++ 等)中,表达式 3 * 0.1 == 0.3 会返回 false

这是因为浮点数在计算机中是以二进制形式表示的,而十进制小数 0.1 在二进制中是一个无限循环小数,无法精确表示。因此,3 * 0.1 的实际结果可能是一个接近 0.3 但不完全相等的值(例如 0.30000000000000004),与直接写的 0.3(同样不精确)比较时,会返回 false。

如果你需要精确比较,建议使用误差范围(如比较绝对值差是否小于一个很小的值)或使用十进制数据类型(如 Python 中的 decimal 模块)。

Logo

Vue社区为您提供最前沿的新闻资讯和知识内容

更多推荐