gpt4 book ai didi

xml - 如何独立于区域设置从 XML 文件中正确读取浮点值?

转载 作者:行者123 更新时间:2023-12-02 07:30:38 25 4
gpt4 key购买 nike

我正在使用 TXMLDocument 从 XML 文件中的节点读取浮点属性值:

<MyApp_Favorites version="1.0">

...使用此声明:

var
ThisRootNode: IXMLNode;
ThisVersion: Single;

// ...

ThisVersion := ThisRootNode.Attributes['version'];
CodeSite.Send('ThisVersion', ThisVersion);

但是,在我的德语系统上,我得到这个版本值:

ThisVersion = 10,00

...在我的区域设置中,逗号“,”被定义为小数点分隔符,而不是点“.”。如 XML 文件中所示。但对于英语区域设置 - 其中点最有可能定义为小数分隔符设置 - 结果将正确为“1.0”。

那么我如何确保独立于区域设置的 1.0 读取值始终相同? (将版本值读取为字符串,然后将其转换为 float 似乎不是一个非常优雅的方法)。

最佳答案

使用字符串表示形式并使用TFormatSettings.Invariant自行进行转换:

ThisVersion := StrToFloat(ThisRootNode.Attributes['version'], TFormatSettings.Invariant);

关于xml - 如何独立于区域设置从 XML 文件中正确读取浮点值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41224661/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com