下面是代碼:度分秒爲弧度公式不工作
double r = Double.parseDouble(radius.getText().toString());
double del = Double.parseDouble(delta.getText().toString());
double dm = ((int)((del - ((int)del)) * 100));
double rads = (((int)del) + (dm/60) + (((((del - ((int)del)) * 100) - ((int)((del - ((int)del)) * 100))) * 100)/3600)) * (Math.PI/180);
String t = String.valueOf(r * (Math.tan(rads/2)));
String c = String.valueOf(2* r* (Math.sin((rads/2))));
String m = String.valueOf(r*(1- Math.cos((rads/2))));
String a = String.valueOf(2*Math.PI*r*((((int)del) + (dm/60) + (((((del - ((int)del)) * 100) - ((int)((del - ((int)del)) * 100))) * 100)/3600))/360));
tangent.setText(t);
arc.setText(a);
chord.setText(c);
mid.setText(m);
我的目標是降低的,我用我的程序來清理了一下變量的數目。因爲它符合我發佈它的方式,所以公式就可以工作。如果將雙「rads」中的「dm」替換爲「((int)((del - ((int)del))* 100))」的當前值,則公式不再有效。它與「/ 60」有關。我試過不同的支架情況,只是似乎沒有工作。我已經在公式的其他部分替換了「dm」,並且它仍然有效,它只是在一個位置。有任何想法嗎?
作爲一個例子,我將使用60d25'25'時,「DM/60應該轉換25' 成十進制度......所以就等於0.416666666 – Orthometric
什麼語言?還修復了帖子中的代碼格式。 – ja72
該語言是Java,我正在創建一個Android應用程序。 – Orthometric