Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/215.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android TextView XML属性来格式化输入文本_Android - Fatal编程技术网

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

Android TextView XML属性来格式化输入文本,android,Android,我正在通过SimpleCursorAdapter使用TextView作为行填充列表视图。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

我正在通过SimpleCursorAdapter使用TextView作为行填充列表视图。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)填充的TextView格式化游标数据。在代码中的哪一点可以插入format语句。

我不认为可以通过XML对数字进行格式化,但以下内容可以将格式设置为小数点后2位:

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

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

您不能从xml中对值进行取整,因此您必须在游标中获取值并将其转换为double后以编程方式进行操作,然后使用下面的代码

尝试如下:

double roundTwoDecimals(double d)
{
    DecimalFormat twoDForm = new DecimalFormat("#.##");
    return Double.valueOf(twoDForm.format(d));
}
您也可以使用

DecimalFormat df=新的DecimalFormat(“#.###”)