初学者:)
我正在尝试创建一个需要用户输入的Delphi应用程序,然后添加和减去这些变量。
我成功创建了应用程序,除了:
之外,一切正常无法找到处理带小数的数字的正确方法。
示例:
A,B,C,D,E,F:string; A1,B1,C1,D1,E1,F1:整数:
我使用InputBox来获取用户输入。 我将输入存储在字符串变量中。 我将字符串变量转换为整数,A1:= strToint(A); 最后,我想:A1 + B1-C1-D1-E1-F1 如果输入是整数,则结束一切正常。 如果用户输入带小数的数字,则会出现问题。
我到处都搜索过,但找不到问题的答案。(或者我不明白)
任何人都可以指出我正确的方向吗?
谢谢。
答案 0 :(得分:6)
您正在尝试将字符串转换为浮点值。
首先,您需要将Integer
变量更改为Double
类型。这将允许您存储非整数的值。
其次,您需要一个不同的功能来执行转换。您应该使用TryStrToFloat
。这会尝试从字符串转换为浮点。如果转换成功,则函数返回True
,否则返回False
。例如:
var
str: string;
value: Double;
....
if not TryStrToFloat(str, value) then
begin
// handle error in some appropriate way
end;
// do something with value
答案 1 :(得分:4)
顾名思义,StrToInt
将数字字符串转换为等效的整数。还有用于处理浮点数的类似StrToFloat
函数。
您的变量目前被定义为整数。如果要使用实数/十进制数,则需要使用Double
类型。
我建议您查阅Delphi文档以获取更多相关信息。