2011-01-11 133 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