我一直在为 Java 和 SQL Server 中的精确噩梦而苦苦挣扎,直到我不再知道为止。就个人而言,我理解这个问题及其根本原因,但向全球另一端的客户解释这一点是不可行的(至少对我而言)。
情况是这样的。我在 SQL Server 中有两列 - Qty INT 和 Price FLOAT。这些值是 - 1250 和 10.8601 - 所以为了获得总值,它的数量 * 价格和结果是 13575.124999999998(在 Java 和 SQL Server 中)。这是正确的。问题是——客户不想看到那个,他们只看到这个数字 13575.125 就是这样。在一个地方,他们以 2 位小数精度查看它,另一个以 4 位小数显示。当以 4 位小数显示时,数字是正确的 - 13575.125,但当以 2 位小数显示时,他们认为它是错误的 - 13575.12 - 应该改为 13575.13!
帮助。