[問題] 關於double轉int

看板C_Sharp (C#)作者 (蛋蛋)時間17年前 (2009/04/06 01:54), 編輯推噓1(104)
留言5則, 2人參與, 最新討論串1/1
小弟是剛學習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

04/06 02:07, , 1F
加上 (int) 就可以了
04/06 02:07, 1F

04/06 02:07, , 2F
DrawLine(myPen, 150, 150,(int)(150+50*Math... (後略)
04/06 02:07, 2F

04/06 02:12, , 3F
喔喔那個部分沒問題了..雖然小弟的程式還是寫錯了XD
04/06 02:12, 3F

04/06 02:13, , 4F
出來的畫面不是時鐘..不過double轉int的問題解決了
04/06 02:13, 4F

04/06 02:13, , 5F
感激不盡
04/06 02:13, 5F
文章代碼(AID): #19sF1pbO (C_Sharp)
文章代碼(AID): #19sF1pbO (C_Sharp)