textview中的android货币

时间:2013-09-13 16:10:56

标签: android select currency

我最近开始学习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);

}

2 个答案:

答案 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);