关于pow的问题? |
答題得分者是:Zard
|
小丫123
初階會員 發表:85 回覆:62 積分:29 註冊:2004-08-31 發送簡訊給我 |
|
Zard
尊榮會員 發表:24 回覆:396 積分:539 註冊:2003-11-26 發送簡訊給我 |
引言: 我碰到c语言中有这样的源码for (i=1;i<=n_out;i ) result=(int)pow(2,double(4-i));不知道在delphi中是怎么表示的? 恳请前辈们指教 procedure TForm1.Button1Click(Sender: TObject); var i, n_out: Integer; iResult: Extended; begin n_out := 1000; for i := 1 to n_out do iResult := IntPower(2, 4-i); end; |
小丫123
初階會員 發表:85 回覆:62 積分:29 註冊:2004-08-31 發送簡訊給我 |
|
Zard
尊榮會員 發表:24 回覆:396 積分:539 註冊:2003-11-26 發送簡訊給我 |
引言: 多谢Zard的指点沒有一個Function叫 extendedtostr 的 . > >即可. 另外var i, n_out: Integer; iResult: extended; begin n_out := 1000; for i := 1 to n_out do iResult := IntPower(2, 4-i); memo1.Lines .add(extendedtostr(iResult));这句出错了 end;如果我想得到的iResult是int型的,应该怎么修改呢? |
小丫123
初階會員 發表:85 回覆:62 積分:29 註冊:2004-08-31 發送簡訊給我 |
|
Zard
尊榮會員 發表:24 回覆:396 積分:539 註冊:2003-11-26 發送簡訊給我 |
引言: 如果要将其转为integer的话,可以怎么写吗??不好意思,不要嫌我烦哈 procedure TForm1.Button1Click(Sender: TObject); var i: Integer; iResult: Extended; iResult2: Int64; begin iResult := IntPower(2, 10); // 捨棄小數點部份 iResult := Int(iResult); // 將Extended轉為Int64 try iResult2 := Trunc(iResult); //顯示結果 ShowMessage(IntToStr(iResult2)); except ShowMessage('轉換失敗!!'); end; end;重點為: 1. 轉換Extended型態為Integer時要用Int64 2. 當Extended的值超過Int64所能表示的範圍時會產生 EInvalidOp exception, 也就是說轉換不見得會成功(例如改為IntPower(2, 1000);, 就會失敗IntPower(2, 10);) |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |