What is the best way to compare decimals?(比较小数的最佳方法是什么?)
问题描述
比较小数的最佳方式是什么?
假设我有两个值,如3.45
和3.44
,什么是可靠比较它们的最佳方式?
我在考虑将所有数字存储为345
和344
,以便我只比较整数,并且只向用户显示带有小数点的格式化数字。
另一种解决方案是使用自定义函数来测试差异,当差异小于0.01
时,数字应该相等。
其他可能的解决方案(更好的解决方案)有哪些?
推荐答案
最常见的技术是使用epsilon(您描述的第二件事)。然而,要制作一个适用于所有输入数字的通用epsilon可能是极其困难或不可能的。如果你要处理的是1000000000左右的数字或者0.00001左右的数字,那么0.01epsilon对你来说可能是可怕的。有关epsilon技术的全面分析,请阅读this。
您描述的第一个解决方案在时间数学中非常常见。所有内容都以整数个刻度表示。勾号可以代表1秒、1毫秒或您想要的任何符号。然后,如果您愿意,可以将它们转换为另一个单位的小数,或者对它们进行比较。唯一的问题是您需要选择一个刻度大小,并且不能小于1刻度单位。
这篇关于比较小数的最佳方法是什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:比较小数的最佳方法是什么?


基础教程推荐
- 错误“此流不支持搜索操作"在 C# 中 2022-01-01
- 首先创建代码,多对多,关联表中的附加字段 2022-01-01
- 是否可以在 asp classic 和 asp.net 之间共享会话状态 2022-01-01
- 将事件 TextChanged 分配给表单中的所有文本框 2022-01-01
- 经典 Asp 中的 ResolveUrl/Url.Content 等效项 2022-01-01
- 如何动态获取文本框中datagridview列的总和 2022-01-01
- 全局 ASAX - 获取服务器名称 2022-01-01
- JSON.NET 中基于属性的类型解析 2022-01-01
- 从 VS 2017 .NET Core 项目的发布目录中排除文件 2022-01-01
- 在 VS2010 中的 Post Build 事件中将 bin 文件复制到物 2022-01-01