Безопасно ли проверять значения с плавающей запятой на равенство 0?
Если вам нужно провести много c#.net сравнений «на равенство», было dot-net бы неплохо написать небольшую c#.net вспомогательную функцию или precision метод расширения в .NET 3.5 c#.net для сравнения:
public static bool AlmostEquals(this double double1, double double2, double precision)
{
return (Math.Abs(double1 - double2) <= precision);
}
Это можно использовать c#.net следующим образом:
double d1 = 10.0 * .1;
bool equals = d1.AlmostEquals(0.0, 0.0000001);
c#
.net
floating-point
precision
zero
2021-12-14T02:46:01+00:00
2022-11-16T17:35:37+00:00
Neelian
Вопросы с похожей тематикой, как у вопроса:
Безопасно ли проверять значения с плавающей запятой на равенство 0?
Предупреждение о файлах Cookies
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.