Laß mich mal raten - ein paar Fragen:
1) Meine Delphi's (D3, D7) kennen weder InttoFloat noch FloattoInt.
2) Hatte ähnliche Probleme mit englischer Windows-Version, weiß aber nicht, ob das dein Problem trifft.
IMHO tritt so etwas immer nur bei Umwandlungen von Zahlenstrings in FP-Zahlen (z.B., bei Eingaben) auf, aber nicht bei internen Rechnungen, bzw. Zahlenausgaben, bei denen Windows den Dezimalpunkt ("DecimalSeparator") gemäß Ländereinstellung wählt (habe keine Erfahrung mit chinesischen Versionen).
Probleme traten immer dann auf, wenn ich z.B. in Edit-Feldern schon Zahlenstrings vorbesetzt hatte (" 12,345 " geht nicht in der englischen Version).
Hab' mir daher folgendes angewöhnt:
1) Initialwerte nie als Zahlenstring sondern als FP-Zahl im Source definieren (Bei Integern natürlich nicht nötig). Im Source wird immer der DezimalPunkt verlangt - Delphi rechnet auch damit. Falls diese Zahlen sichtbar werden sollen, eben mit ...FloatToStr anzeigen. Windows macht den Rest.
2) Bei Eingaben entsprechendes Filter vorsehen. Hier ein Beispiel aus einer KeyPress-Routine:
Delphi-Quelltext
1: 2:
| if Key in [',','.',';',':'] then Key :=DecimalSeparator; |
Ich hoffe, daß du damit etwas anfangen kannst.