gpt4 book ai didi

delphi - 在德尔福将摄氏转换为华氏和反之亦然

转载 作者:行者123 更新时间:2023-12-03 18:56:22 34 4
gpt4 key购买 nike

我正在学习德尔福,出于某种原因,他们使用这种旧语言,但无论如何。
我需要构建一个转换摄氏度和华氏度的天气应用程序。

用户必须输入 7 天天气,但这个例子我只想弄清楚第 1 天

所以我首先创建了单选按钮来选择摄氏度和华氏度,
然后,如果他们选择摄氏度,我必须将摄氏度转换为华氏度,如果他们选择华氏度,我必须将其转换为摄氏度。

所以这是我的代码:

 var
Celsius, Fahrenheit, Day1 : Double;

begin
Day1 := fedDay1;
Celsius := (Day1 - 32)*5/9;
Fahrenheit := Day1 * 9/5 + 32;

if radCelsius.checked then
lblConvertDay1.Caption := FloatToStrF(Fahrenheit, ffFixed, 15, 2);
else
lblConvertDay1.Caption := FloatToStr(Celsius, ffFixed, 15, 2);
end;

它在 fedDay1 上给出错误 这是一个 float 旋转编辑

请帮忙

最佳答案

您不能将 SpinEdit 直接分配给变量。您必须使用该值。

Day1 := fedDay1.Value;

您的代码只需进行所需的转换,如 Day1已经有其中之一了。因此,如果用户输入了摄氏值,您只需将摄氏转换为华氏即可。如果他们输入了华氏值,您只需将华氏转换为摄氏度。
var
Day1: Double;
OutVal: Double;
begin
Day1 := fedDay1.Value;
if radCelsius.checked then
OutVal := (9.0 / 5.0) * Day1 + 32 // Cels. entered; convert to Fahrenheit
else
OutVal := (5.0 / 9.0) * (Day1 - 32); // Fahr. entered; convert to Celsius
lblConvertDay1.Caption := FloatToStr(OutVal, ffFixed, 15, 2);
end;

如果您使用的是最新版本的 Delphi(Delphi 2007 有它们,它们可能可以追溯到 Delphi 5), StdConvs unit 具有可用于转换的预定义函数:
implementation

uses
StdConvs;

if ...
OutVal := CelsiusToFahrenheit(Day1)
else
OutVal := FahrenheitToCelsius(Day1);

关于delphi - 在德尔福将摄氏转换为华氏和反之亦然,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18660227/

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