作者eggegglai (蛋蛋)
看板C_Sharp
標題[問題] 關於double轉int
時間Mon Apr 6 01:54:58 2009
小弟是剛學習cs的超新手 目前在學校的作業中遇到了一些麻煩
請問版上的各位高手們能幫忙解答
作業是要寫一個碼表+時鐘
碼表小弟已經寫好了
但卡在時鐘的指針繪圖部分
老師給指針畫法提示是假設圓心座標為(x, y),指針長度為L,
指針旋轉角度為d(單位為徑度),則直線另一個端點的座標為
(x+L*Math.Cos(d-Math.PI/2), y+L*Math.Sin(d-Math.PI/2))。
小弟根據老師的提示寫時鐘的部分如下:
Graphics gra = this.CreateGraphics();
Pen myPen = new Pen(Color.Red, 1);
gra.DrawLine(myPen, 150, 150,(150+50*Math.Cos(2*Math.PI/t-Math.PI/2),
(150+50*Math.Sin(2*Math.PI/t-Math.PI/2));
gra.DrawEllipse(myPen, 100, 100, 100, 100);
不過gra.DrawLine(myPen, 150, 150,(150+50*Math.Cos(2*Math.PI/t-Math.PI/2),
(150+50*Math.Sin(2*Math.PI/t-Math.PI/2));
這條出錯,好像是因為gra.DrawLine輸出是(pen,int,int,int,int)
而小弟的則是(pen,int,int,double,double)
那請問該怎麼把double轉成int呢
還是小弟根本就搞錯問題所在了
有請版大們解答
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.47.47.125
推 james732:加上 (int) 就可以了 04/06 02:07
→ james732:DrawLine(myPen, 150, 150,(int)(150+50*Math... (後略) 04/06 02:07
→ eggegglai:喔喔那個部分沒問題了..雖然小弟的程式還是寫錯了XD 04/06 02:12
→ eggegglai:出來的畫面不是時鐘..不過double轉int的問題解決了 04/06 02:13
→ eggegglai:感激不盡 04/06 02:13