德尔福甚至奇怪的问题

时间:2016-02-25 18:46:29

标签: delphi

每当我想要输入2 4 6 8 10等时出现问题我想得到答案即使但似乎无法找到解决方案

 if (Edit1.Text = '2' )  then
    Edit2.Text := 'Even'
  else
  Edit2.Text := 'Odd' 

尝试划分2但总是失败。

2 个答案:

答案 0 :(得分:11)

将文本转换为整数并使用Odd函数:

if Odd(StrToInt(Text)) then
  // the value is odd

答案 1 :(得分:6)

您需要先将文本框中的文本转换为Integer之类的数字类型,然后将该值与模数2(整数除法的余数)进行比较:

var
  value: Integer;
begin
...
  value := StrToInt(Edit1.Text);
  if ((value mod 2) = 0) then
    Edit2.Text := 'Even'
  else
    Edit2.Text := 'Odd';
...
end;

这里有mod运算符的简短解释:

  

mod(模数)除以两个数字并仅返回余数   是一个整数。例如,表达式a:= 13 mod 4;会   评估为1a=1),而b := 12 mod 4;评估为0b=0)。