All rules
GCI0049InfoData Integrity

Float and Double Equality Comparison

Detects direct equality (== / !=) comparisons involving floating-point values, which produce unreliable results due to precision loss.

Why this rule exists

0.1 + 0.2 != 0.3 in IEEE 754. Equality on floats is almost always a bug waiting to surface when input distributions shift slightly.

Code example

Triggers the rule
+ if (totalRatio == 1.0) Commit();
Passes the rule
+ if (Math.Abs(totalRatio - 1.0) < 1e-9) Commit();
+ // or use decimal for monetary or ratio math

Configuration

Disable or adjust the severity of this rule in .gauntletci.json:

{
  "rules": {
    "GCI0049": { "enabled": true, "severity": "Info" }
  }
}

See Configuration for the full schema.

Related rules

Implemented in src/GauntletCI.Core/Rules/Implementations/GCI0049_*.cs.

About the author

Eric Cogen -- Founder, GauntletCI

Twenty years in .NET production. Most of those years, the bugs that hurt me were not the ones tests caught. They were the assumptions I did not know I was making: a removed guard clause, a renamed method that still did the old thing, a catch {} that turned a page into a silent dashboard lie. GauntletCI is the checklist I wish I had run before every commit. It runs the rules I learned the hard way, so you do not have to.