我使用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)填充。代码中的哪一点可以插入格式语句。
答案 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