Android TextView XML属性用于格式化输入文本

时间:2013-10-14 06:16:39

标签: android

我使用TextView作为一行通过SimpleCursorAdapter填充ListView.TextView中的数字显示为8或2.6786等。我希望它们显示为8.00或2.67等。可以通过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中填充它。问题是我如何格式化光标数据,比如说其ID为的文本视图(R.id) .tvstockrate),由c.getColumnNames(3)填充。代码中的哪一点可以插入格式语句。

3 个答案:

答案 0 :(得分:0)

我不认为您可以通过XML格式化数字,但以下应该可以格式化为2位小数:

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

您应该能够根据应用程序的要求进行调整。

答案 1 :(得分:0)

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

试试如下:

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

答案 2 :(得分:0)

您也可以使用

DecimalFormat df = new DecimalFormat(“#。##”);

http://developer.android.com/reference/java/text/DecimalFormat.html