私のアプリケーションは、小数点区切り記号がカンマの地域設定のシステムで動作します。 (Delphi 10.1)デルファイの小数点記号の問題
私は自分のアプリケーションの小数点記号としてドットを設定しました。
Application.UpdateFormatSettings := false;
FormatSettings.DecimalSeparator := '.';
Application.UpdateFormatSettings := true;
これは問題なく機能します。
私はformat('%6.3f', 125.365])
機能を使用しています。 エグゼは、フォーマット機能は、それが
言うコンマローカル設定の変更に小数点としてドットで正しくデータを返すが、後..システム上の24 * 7用に1又は2時間のような初期段階で
あります12,365
。
突然ドットがカンマに変わるのはなぜですか?
[UpdateFormatSettingsのドキュメント](http://docwiki.embarcadero.com/Libraries/XE7/en/Vcl.Forms.TApplication.UpdateFormatSettings)を見ましたか? *ユーザーがシステム構成を変更したときにフォーマット設定が自動的に更新されるかどうかを指定します* * False *のままにします。 –
'FormatSettings'のグローバル設定に依存しないでください。プログラムのどの部分も設定を変更する可能性があります。スレッドセーフでもありません。あなた自身の 'FormatSettings'レコードを渡す、フォーマットされたフロートのオーバーロードされたバージョンを使用してください。 –
また、フローを参照して、ユーザーに予想される形式で数字を表示させることもできます。 –