2016-02-25 85 views
-4

有每當我在2 4 6 8 10等打字的時候想一個問題,我想有答案出來爲偶數,但不能似乎找到solutioin德爾福偶奇的問題

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

Tryed到除2,但總是失敗。

+2

轉換字符串'StrToInt'function進行編號,然後應用'Odd'function。別忘了閱讀一​​本關於Delphi/Pascal語言的書。 – MBo

回答

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)。

+0

謝謝一切正常:) – Deivids

+0

也請看下面的David的答案,它的同一個操作的較短版本。我還建議你找一本關於Delphi的Marco Cantu的書(例如'Essential Pascal'和'Essential Delphi',網址是http://www.marcocantu.com/edelphi/default.htm)。 – quasoft

+0

mod的文檔位於:http://docwiki.embarcadero.com/RADStudio/en/Expressions_(Delphi)#Arithmetic_Operators –

11

將文本轉換爲整數,並使用Odd功能:

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