gpt4 book ai didi

delphi - Strtofloat/Floattostr 转换

转载 作者:行者123 更新时间:2023-12-02 01:45:04 25 4
gpt4 key购买 nike

我在使用 StrToFloat 例程时遇到问题。我在 Windows Vista 上运行 Delphi 7,区域格式设置为德语(奥地利)

如果我运行以下代码 -

DecimalSeparator:='.';
anum:=StrToFloat('50.1123');
edt2.Text:=FloatToStr(anum);

当我将字符串转换为 float 时,anum 变为 50,1123,当我将其转换回字符串时,它变为“50.1123”

如何才能在将字符串转换为 float 时,数字以小数点而不是逗号作为小数分隔符出现。

谢谢

科林

最佳答案

您必须了解 float 与其文本表示形式(即字符串)之间的区别。

float 通常存储在计算机中(例如 Delphi float 变量),没有小数点分隔符。只有它的文本表示才可以。如果IDE显示anum如“50,1123”,这仅意味着 IDE 在创建 IDE 内数字的文本表示形式时使用计算机的本地区域设置。

在计算机内存中,值“50.1123”(或者,如果您愿意,可以使用“50,1123”)仅使用 1 和 0 进行存储。在十六进制表示法中,该数字存储为 9F AB AD D8 5F 0E 49 40并且不包含有关如何显示的信息。这不像你可以拿起放大镜并将其指向 RAM 模块来找到一个微小的字符串“50.1123”(或“50,1123”)。

当然,当你想向用户显示号码时,你可以使用 FloatToStr它获取该数字并从中创建一个字符串。结果可以是“50.1123”或“50,1123”,或其他值。 (在内存中,这些字符串分别是 35 30 2C 31 31 32 3335 30 2E 31 31 32 33 (ASCII)。)

关于delphi - Strtofloat/Floattostr 转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9342879/

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