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刻度单位。
这篇关于比较小数的最佳方法是什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:比较小数的最佳方法是什么?
基础教程推荐
- 在 VB6 或经典 ASP 中使用 .NET 2022-01-01
- 更新 Visual Studio 中的 DataSet 结构以匹配新的 SQL 数据库结构 2022-01-01
- 将数据集转换为列表 2022-01-01
- 重新排序 WPF TabControl 中的选项卡 2022-01-01
- 如果条件可以为空 2022-01-01
- Mono https webrequest 失败并显示“身份验证或解密失败" 2022-01-01
- SonarQube C# 分析失败“不是指针的有效行偏移" 2022-01-01
- C# 9 新特性——record的相关总结 2023-04-03
- 获取C#保存对话框的文件路径 2022-01-01
- 从 C# 控制相机设备 2022-01-01
