2013-10-14 38 views
1

我使用TextView作为一行通过SimpleCursorAdapter填充ListView。TextView中的数字显示为8或2.6786等。我希望它们显示为8.00或2.67等。它可以通过XML(如输入类型方法等)来完成。请提供一个出路。该代码是:用于格式化输入文本的Android TextView XML属性

// THE DESIRED COLUMNS TO BE BOUND 
columns = new String[] { slStock.KEY_SCRIPT, getColumnName(2),c.getColumnName(3)}; 
// THE XML DEFINED VIEWS FOR EACH FIELD TO BE BOUND TO 
to = new int[] { R.id.tvstockscrpt, R.id.tvqty ,R.id.tvstockrate}; 
// CREATE ADAPTER WITH CURSOR POINTING TO DESIRED DATA 

SimpleCursorAdapter cursAdapter = new SimpleCursorAdapter(this,R.layout.rowstock, c,columns, to); 

lvstockdisplay.setAdapter(cursAdapter); 

在这里,你会发现光标C获取数据(从后台数据库的SQL查询),并填充它在ListView directly.The问题是我怎么能格式化为说,光标数据TextView,其ID是(R.id.tvstockrate),并由c.getColumnNames(3)填充。在代码中可以插入格式语句的哪个点。

回答

0

我不认为你可以通过XML格式的数字,但下面应该努力格式为2位小数:

DecimalFormat numbers = new DecimalFormat("#.##"); 

你应该能够适应这种要求您的应用程序。

0

你不能从你的xml中取四舍五入的值,所以你必须在获得游标值并将它变为double并使用下面的代码之后以编程方式进行。

试试如下:

double roundTwoDecimals(double d) 
{ 
    DecimalFormat twoDForm = new DecimalFormat("#.##"); 
    return Double.valueOf(twoDForm.format(d)); 
}