Java o如我所想,在表示层格式化数字。谢谢你的回答,但我需要有两位小数。不仅仅是四舍五入到小数点后2位。例如123.40或56.00,在android应用程序中将其显示为货币价值。顺便说一下,amount value是一种数字(10,5)not float(我的
Java o如我所想,在表示层格式化数字。谢谢你的回答,但我需要有两位小数。不仅仅是四舍五入到小数点后2位。例如123.40或56.00,在android应用程序中将其显示为货币价值。顺便说一下,amount value是一种数字(10,5)not float(我的,java,android,sqlite,Java,Android,Sqlite,o如我所想,在表示层格式化数字。谢谢你的回答,但我需要有两位小数。不仅仅是四舍五入到小数点后2位。例如123.40或56.00,在android应用程序中将其显示为货币价值。顺便说一下,amount value是一种数字(10,5)not float(我的错误)类型,我使用以下代码填充android cursor=dbAdapter.getAccountsTotals()中的列表视图;开始管理游标(游标);String[]from=新字符串[]{DbAdapter.KEY\u ID,DbAdap
o如我所想,在表示层格式化数字。谢谢你的回答,但我需要有两位小数。不仅仅是四舍五入到小数点后2位。例如123.40或56.00,在android应用程序中将其显示为货币价值。顺便说一下,amount value是一种数字(10,5)not float(我的错误)类型,我使用以下代码填充android cursor=dbAdapter.getAccountsTotals()中的列表视图;开始管理游标(游标);String[]from=新字符串[]{DbAdapter.KEY\u ID,DbAdapter.KEY\u NAME,DbAdapter.KEY\u AMOUNT};int[]to=newint[]{R.id.dis1,R.id.dis2,R.id.dis3};SimpleCrsorAdapter trans=新的SimpleCrsorAdapter(此,R.layout.accts_行,光标,从,到);setListAdapter(trans);因此无法格式化结果。请让我知道,有一种方法可以为上面的代码指定格式化的值,谢谢。谢谢,它正在工作。dblAmt=mEntryCursor.getDouble(AMT\u列);我必须将AMT\u列设为整数。然后它开始工作了。我不同意。这种格式的合理位置是在数据库视图中。这种方法很枯燥,我不同意。这种格式的合理位置是在数据库视图中。这种方法很简单。
id name type notnull dflt_value pk
------- --------------- ---------- ----------- -------------- ---
0 _id integer 0 1
1 name varchar 1 0
2 amount NUMERIC(10,5) 0 0
SELECT _id, name, amount FROM accounts
cursor = dbAdapter.getAccountsTotals();
startManagingCursor(cursor);
String[] from = new String[] { DbAdapter.KEY_ID, DbAdapter.KEY_NAME, DbAdapter.KEY_AMOUNT};
int[] to = new int[] { R.id.dis1, R.id.dis2, R.id.dis3};
SimpleCursorAdapter trans = new SimpleCursorAdapter(this, R.layout.accts_row, cursor, from, to);
setListAdapter(trans);
float f = 1.23456f;
NumberFormat instance = NumberFormat.getInstance();
instance.setMaximumFractionDigits(2);
System.out.println(instance.format(f));
SELECT _id, name, ROUND(amount,2) FROM accounts
public class TestListView extends ListActivity {
...
private DecimalFormat myCustDecFormatter = new DecimalFormat("########.00");
...
...
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
...
...
...
}
private void fillData() {
/* Get all of the rows from the database and create the item list */
/* for mult accts, pass in acct name? */
mEntryCursor = mDbHelper.fetchAllEntries();
startManagingCursor(mEntryCursor);
// Create an array to specify the fields we want to display in the list (only TITLE)
String[] from = new String[]{myDbAdapter.KEY_NMBR,myDbAdapter.KEY_DATE,myDbAdapter.KEY_DESCR,myDbAdapter.KEY_AMT};
// and an array of the fields we want to bind those fields to (in this case just text1)
int[] to = new int[]{R.id.txtnmbr, R.id.txtdate, R.id.txtdescr, R.id.txtamt};
// Now create a simple cursor adapter and set it to display
setListAdapter(new SimpleCursorAdapter(this, R.layout.entryrow, mEntryCursor, from, to) {
@Override
public void setViewText(TextView v, String text) {
super.setViewText(v, convText(v, text));
}
});
}
private String convText(TextView v, String text) {
switch (v.getId()) {
case R.id.txtamt:
double dblAmt;
//dblAmt = Double.valueOf(text);
dblAmt = mEntryCursor.getDouble(AMT_COLUMN);
return myCustDecFormatter.format(dblAmt);
}
return text;
}
}//end TestListView