gpt4 book ai didi

c# - 如何正确比较 C# 中的十进制值?

转载 作者:IT王子 更新时间:2023-10-29 03:53:21 26 4
gpt4 key购买 nike

我有 C++ 背景,我知道您无法准确比较 float 是否相等。对于 C#,我只是假设相同的策略适用于十进制值,或者一般的任何浮点值。

基本上,我有两个十进制值,如果它们彼此不相等,我需要执行一些操作。例如:

decimal value1, value2;
// Assume value1 and value2 are set somewhere to valid values.
if( value1 != value2 )
{
// Do something
}

如果这没有按预期工作,我愿意接受一个解决方案,该解决方案使用误差范围进行相等比较,比如 .00001 或类似的东西。这个问题的推荐解决方案是什么?

最佳答案

您的代码将按预期工作。 C# decimal 经过优化,可以非常准确地表示以 10 为基数的数字,因此如果这就是您要比较的内容(金钱,...),一切都应该没问题。

这是 Jon Skeet 对小数的准确性的非常清楚的解释:

Difference between decimal, float and double in .NET?

关于c# - 如何正确比较 C# 中的十进制值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5940222/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com