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刻度单位。
这篇关于比较小数的最佳方法是什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:比较小数的最佳方法是什么?
基础教程推荐
- 将 XML 转换为通用列表 2022-01-01
- 如何激活MC67中的红灯 2022-01-01
- 如何在 IDE 中获取 Xamarin Studio C# 输出? 2022-01-01
- MS Visual Studio .NET 的替代品 2022-01-01
- SSE 浮点算术是否可重现? 2022-01-01
- 为什么Flurl.Http DownloadFileAsync/Http客户端GetAsync需要 2022-09-30
- 有没有办法忽略 2GB 文件上传的 maxRequestLength 限制? 2022-01-01
- 将 Office 安装到 Windows 容器 (servercore:ltsc2019) 失败,错误代码为 17002 2022-01-01
- rabbitmq 的 REST API 2022-01-01
- c# Math.Sqrt 实现 2022-01-01