how to convert double to string in android

Aoyama Nanami picture Aoyama Nanami · May 2, 2013 · Viewed 40k times · Source

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?

Answer

Opiatefuchs picture Opiatefuchs · May 2, 2013
      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.