The code for formatting float and currency is very dated (Win9x maybe) and could use some serious updates.

In Windows XP (probably the most popular OS used for Delphi projects right now):
1. Numbers and currency have independent decimal separators (and they are strings); Delphi only uses the one for numbers (and it is a Char);
2. Numbers and currency have independent decimal digits; Delphi only uses the one for currency;
3. Numbers and currency have independent thousand separators (and they are strings); Delphi only uses the one for numbers (and it is a Char);
4. Numbers and currency have independent and adjustable digit groupings; Delphi uses a hard-coded one.
5. Numbers and currency have independent negative symbols (and they are strings); Delphi uses a hard-coded character.
6. Numbers and currency have independent negative number format; Delphi only uses the one for currency;
7. For pure fractional numbers, one can specify whether to show the leading zero; Delphi does not use this setting;
8. For numbers, one can specify whether to use localized digit symbols; Delphi does not use this setting;
9. Currency have its own positive number format; Delphi does not use this setting.