Pregunta

i want to convert string in my constructor into double, i can't change it in my constructor, because in one process, the variable must in double, and other class must be string, can you tell me the way to convert it..? this is my constructor :

public class DataItem {
String ijiInvest, ijiId;
String tanggal;
double persenHmint1,inuNilai  selisih,persen_hke1;

public DataItem(String ijiInvest, double persenHmint1, Double inuNilai, 
        double selisih,double persen_hke1, String tanggal,String ijiId) {
    // TODO Auto-generated constructor stub
    this.ijiInvest = ijiInvest;
    this.persenHmint1 = persenHmint1;
    this.inuNilai = inuNilai;
    this.selisih = selisih;
    this.ijiId = ijiId;
    this.tanggal = tanggal;
    this.persen_hke1=persen_hke1;
}

public String getIjiInvest() {
    return ijiInvest;
}

public String getIjiId() {
    return ijiId;
}

public String getTanggal() {

    return tanggal;
}

public double getPersenHmint1() {
    return persenHmint1;
}

public Double getInuNilai() {
    return inuNilai;
}

public double getSelisih() {
    return selisih;
}

public double persen_hke1(){
    return persen_hke1;
}

in my base adapter, i want to change getInuNilai() into string this is my base adapter :

public class TabelAdapter extends BaseAdapter{
Context context;
ArrayList<DataItem> listData;//stack
int count;

public TabelAdapter(Context context, ArrayList<DataItem>listData){
    this.context=context;
    this.listData=listData;
    this.count=listData.size();
}
@Override
public int getCount() {
    // TODO Auto-generated method stub
    return count;
}

@Override
public Object getItem(int arg0) {
    // TODO Auto-generated method stub
    return null;
}

@Override
public long getItemId(int position) {
    // TODO Auto-generated method stub
    return 0;
}

@Override
public View getView(int position, View v, ViewGroup parent) {
    // TODO Auto-generated method stub
    View view= v;
    ViewHolder holder= null;

    if(view==null){
        LayoutInflater inflater=(LayoutInflater)context.getSystemService(context.LAYOUT_INFLATER_SERVICE);
        view= inflater.inflate(R.layout.main, null);
        holder=new ViewHolder();
        holder.nama=(TextView)view.findViewById(R.id.name);
        holder.email=(TextView)view.findViewById(R.id.email);
        view.setTag(holder);
    }
    else{
        holder=(ViewHolder)view.getTag();

    }
    holder.nama.setText(listData.get(position).getTanggal());
//      holder.email.setText(listData.get(position).getInuNilai());
    return view;
}
static class ViewHolder{
    TextView nama, email;
}

i can't setText getInuNilai() because its return into double, can you tell me how to convert it?

¿Fue útil?

Solución

      String yourDoubleString = String.valueOf(yourDouble);

if You want to have the returned double from Your getInuNilai() Method as a String:

first get Your double from this Method:

    double inuNilaiDouble = getInuNilai(); 

and parse it into String:

     String inuNilaiString = String.valueOf(inuNilaiDouble);

or

     String inuNilaiString = Double.toString(inuNilaiDouble);

if you want this outside Your DataItem.java, make a reference of DataItem and get the double:

    double inuNilaiDouble = mReferenceOfDataItem.getInuNilai(); 

and then parse it into String like shown above.

Otros consejos

Try this:

String s = Double.toString(yourDouble);

You may use:

String yourStringVariable = Double.toString(yourDoubleVariable/value);

There is also a concept that if you concat your primitive datatype to a string value, makes it a String.

String yourStringVariable = yourDoubleVariable + "";

Edit:

Your method getInuNilai() returns a double value. You may use the following code:

String yourStringVariable = yourDataItemVariable.getInuNilai() + "";

OR:

String yourStringVariable = Double.toString(yourDataItemVariable.getInuNilai());

One way of doing it would be:

double x = 123.45;
String res = "" + x;

There are other ones, e.g. String res = new String(x); - pick the one you like.

use this to convert from Double to String Double.toString(yourDouble);

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top