次のコードは、'.' を使用して Writeln(Outfile,testreal) の実数を返します。Windows システムで ',' が定義されているにもかかわらず、小数点記号が表示されません。Writeln(Outfile,testreal) を使用して数値をテキスト ファイルに書き込むにはどうすればよいですか?
( FloatToStr メソッドは、必要に応じて ok の結果を返します。)
procedure TForm1.Button1Click(Sender: TObject);
var Outfile:textfile;
testreal:single;
StrDummy : string;
begin
testreal:=1234.1234;
assignfile(Outfile,'test_real.txt');
Rewrite(Outfile);
StrDummy:='Decimal Separator in Windows: '+GetLocaleChar(GetThreadLocale, LOCALE_SDECIMAL, '.')+#13#10+
'Decimal Separator in Delphi: '+DecimalSeparator;
Writeln(Outfile,StrDummy);
Writeln(Outfile,testreal);
Writeln(Outfile,FloatToStr(testreal));
Closefile(Outfile);
end;
与える
Decimal Separator in Windows: ,
Decimal Separator in Delphi: ,
1.23412341308594E+0003 //Ps. Why is there a beginning space here?
1234,12341308594