Равенство с Double.NaN

В IEEE 754 floating point standard указано, что сравнение c#-language NaN с NaN всегда возвращает false. Если c#-language вам необходимо это сделать, используйте c-sharp Double.IsNaN().

Но это не лучший способ c-sharp делать то, что вы пытаетесь c#-language сделать. Двойники НЕ являются c-sharp точными, и вы используете c#.net их для представления здесь c# цен. Держу пари, что в какой-то csharp момент вам тоже захочется .cs-file сравнить цены на равенство. Это nan не сработает, потому что c# you can't rely on floating point equality.

Вам действительно стоит equality подумать о том, чтобы использовать c# какой-нибудь целочисленный equality тип для этих значений (который c-sharp поддерживает сравнение на c# равенство), а не пытаться .cs-file использовать двойные. Двойники equality - для научных задач; не для c# финансов.

c#

equality

nan

2022-09-12T16:39:02+00:00