2011-01-11 155 views
0

後改變雙號的顯示格式我執行使用雙計算如下:執行計算

int minutes; 
double seconds; 
double DecMinutes; 


// Handle Dd in; DMS, and DMm out 
Calculate myCalculate = new Calculate(inDecimal); { 
double outMinutes = myCalculate.getMinute(); 
double outSeconds = myCalculate.getSecond(); 
double outDecMinute = myCalculate.getDecMinute(); 


minutes = (int) outMinutes; 
seconds = outSeconds; 
DecMinutes = outDecMinute; 


} // end myCalculate 

// Convert result back to String 
c = Integer.toString(minutes); 
((EditText)findViewById(R.id.txtDMSLatMin)).setText(c); 
((EditText)findViewById(R.id.txtDMmLatMin)).setText(c); 
c = Double.toString(seconds); 
((EditText)findViewById(R.id.txtDMSLatSec)).setText(c); 
c = Double.toString(DecMinutes); 
((EditText)findViewById(R.id.txtDMmLatDecMin)).setText(c); 

我的主要關注的是與雙DecMinutes輸出。因爲這是一個十進制分鐘計算,所以我需要使用double。我的佈局已將小數點顯示爲固定字符,因此不是顯示0.0734我想在EditText框txtDMmLatDecMin中顯示0734。

謝謝!

+0

嗨,請記住接受答案是正確的,如果你能解決你的問題使用該答案。將不勝感激,謝謝! :) – Zarah 2011-01-17 03:01:04

回答

0

所以基本上,你想放下零點和小數點?

也許有一個更簡單的方法,但在我的頭頂我認爲你可以使用String.split()。缺點是你必須創建一個新的String數組來保存這些值。

這樣做的目的後:

c = Double.toString(DecMinutes); 
String[] strSplit = c.split("\\."); 

然後,你可以這樣做:

((EditText)findViewById(R.id.txtDMmLatDecMin)).setText(strSplit[1]); 

再次,也許還有一個更簡單的方法。 :)

+0

優秀!謝謝...我不得不使用String [] strSplit = c.split(「\\。」);由於這段時間是保留正則表達式。 – RotorDroid 2011-01-11 02:21:00