【发布时间】:2013-02-07 20:17:33
【问题描述】:
比较小数的最佳方法是什么?
假设我有 2 个值,例如 3.45 和 3.44,可靠比较它们的最佳方法是什么?
我正在考虑将所有数字存储为 345 和 344,以便我只比较整数,并且只向用户显示带小数点的格式化数字。
另一种解决方案是使用自定义函数来测试差异,当差异小于0.01 时,数字应该相等。
还有哪些可能的解决方案(更好的解决方案)?
【问题讨论】:
-
我会测试差异:if ((flOne - flTwo)
-
3.45 不大于 3.44?为什么要他们平等?
-
你能用 fixed point 数学代替吗?一个例子是将浮点米转换为定点毫米。
-
很大程度上取决于这些数字的来源以及它们的含义。例如,如果我可能想将两个数字视为相等,如果它们是具有舍入误差的浮点计算的结果,但如果它们是直接输入则不同。
标签: .net compare int floating-accuracy fuzzy-comparison