我最近开始学习Android而且我正在做一个我需要上学的小项目,我找到并适应了我的需求,下面的代码从Db获取值,我在Textview中查看它们。一切正常,但这些值应以“货币”00:00的格式显示 我已经在网上阅读了信息,但无法使用该格式调整TextView,有人可以帮助我吗?
private class Dettaglio {
double entrate;
double uscite;
double risparmio;
}
while(c.moveToNext()){
Dettaglio d = new Dettaglio();
d.entrate = c.getDouble(0);
d.uscite = c.getDouble(1);
d.risparmio = c.getDouble(2);
dettagli.add(d);
}
c.close();
}
db.close();
ListAdapter adapter = new ArrayAdapter<Dettaglio>(this, R.layout.dettaglio_row, R.id.tv_mese, dettagli){
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View row = super.getView(position, convertView, parent);
Log.v("Bilancio", "Creo elemento in posizione "+position);
String month = new DateFormatSymbols(Locale.getDefault()).getMonths()[position];
TextView tvMonth = (TextView) row.findViewById(R.id.tv_mese);
tvMonth.setText(month);
TextView tvEntrate, tvUscite, tvRisparmio;
tvEntrate = (TextView) row.findViewById(R.id.tv_ele_uscita);
tvUscite = (TextView) row.findViewById(R.id.tv_uscita);
tvRisparmio = (TextView) row.findViewById(R.id.tv_risparmio);
Dettaglio d = dettagli.get(position);
tvEntrate.setText(d.entrate+"");
tvUscite.setText(d.uscite+"");
tvRisparmio.setText(d.risparmio+"");
return row;
}
};
lista.setAdapter(adapter);
//Calcolo il totale annuale
double totaleE = (double) 0;
double totaleU = (double) 0;
double totalerisparmio = (double) 0;
double val = (double) 0;
double val1 = (double) 0;
for (Dettaglio d : dettagli){
totaleE += d.entrate;
totaleU += d.uscite;
}
TextView riepilogoE = (TextView) findViewById(R.id.tv_riepilogo_entrate);
TextView riepilogoU = (TextView) findViewById(R.id.tv_riepilogo_uscite);
TextView risp = (TextView) findViewById(R.id.tv_riepilogo_risparmio);
riepilogoE.setText(""+totaleE);
riepilogoU.setText(""+totaleU);
val = Float.parseFloat(riepilogoE.getText().toString());
val1 = Float.parseFloat(riepilogoU.getText().toString());
totalerisparmio = val - val1;
risp.setText(""+totalerisparmio);
}
答案 0 :(得分:0)
尝试
etichetta1.setText(String.format(“$%。2f”,Float.valueOf(c.getString(0));
答案 1 :(得分:0)
确定
使用NumberFormat.getCurrencyInstance();
Double value = Double.valueOf(c.getString(0)) ;
NumberFormat formatter = NumberFormat.getCurrencyInstance();
String gainString = formatter.format(value );
etichetta1.setText(gainString);