CS.FRACTION.LOSSPossible loss of fraction when dividing integral values and assigning result to a floating point entity. Vulnerability and riskWhen two integral values are divided, the result is also truncated to an integral value (with loss of fraction portion). When the result is assigned to a floating point variable, the intent is most probably to get a real number without fraction loss. Example 11 class Foo { 2 float Devider(long a, int b) { 3 decimal d; 4 float f = a / b; // defect 5 d = a / b; // defect 6 f = b % 2; // defect 7 f = a / f; // OK - one operand is not integral 8 return f; 9 } 10 } |