Summary
CodeRabbit identified potential precision issues caused by using double for monetary values in financial calculations.
Problem
Financial values should use a deterministic representation to avoid floating-point rounding errors.
Affected areas:
- Split.amount
- Expense.amount
- Settlement.amount
- calculation_utils.dart
- settlement.dart
- validation_utils.dart
Proposed Solution
- Replace money values with integer cents representation
- Update validation logic
- Update settlement calculations
- Update unit tests
Reference
Related to PR #40
Summary
CodeRabbit identified potential precision issues caused by using
doublefor monetary values in financial calculations.Problem
Financial values should use a deterministic representation to avoid floating-point rounding errors.
Affected areas:
Proposed Solution
Reference
Related to PR #40