我知道有一个全球性的FormatSettings
变量 available,在启动时使用当前区域操作系统设置进行初始化。这意味着,当您将字符串转换为数字时,例如保存在 xml 文件中,然后您可以与其他 PC 交换该文件。可能会发生无法加载此类文件的情况,因为字符串无法再转换回数字。它依赖于DecimaleSeparator
.
所以我的问题是:是否还有另一个全球性的FormatSettings
变量可用,我可以用它来将持久数据存储到文本文件中?
Example:
FloatToStr(Value, PersistentFormatSettings);
在现代 Delphi 版本中,全局FormatSettings
变量已被弃用(主要是因为它们不是线程安全的)。每个使用格式化变量的 RTL 函数都已重载以采用可选的TFormatSettings
记录为输入。这使您不仅可以使用特定于线程的格式设置,还可以在每次使用的基础上使用自定义格式设置,而不会影响任何其他格式使用。例如:
var
Fmt: TFormatSettings;
S: String;
begin
Fmt := TFormatSettings.Create; // get default settings
//
// or:
// Fmt := TFormatSettings.Create(SomeLocaleID); // get locale-specific settings
//
// or:
// Fmt := TFormatSettings.Create(SomeLocaleName); // get locale-specific settings
//
// customize its fields to use whatever you want...
Fmt.DecimalSeparator := ...;
Fmt.ThousandSeparator := ...;
// now format it...
S := FloatToStr(Value, Fmt);
end;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)