Home > Net >  How to get String variable in float from Listview ?- Android
How to get String variable in float from Listview ?- Android

Time:01-28

Designing a shopping cart in listView but I want to calculate the discounted price of a product value.

So from a list view, I extracted the value into string coz values are stored in a string. I am unable to process the formula as it shows the error.

Operator '*' cannot be applied to 'java.lang.String', 'java.lang.String'

 img.setImageResource(ModelList.get(i).getImg());
            name.setText(ModelList.get(i).itm_name);
            price.setText("Rs"  ModelList.get(i).itm_price  "/ kg");
            String actualPrice = ModelList.get(i).itm_price;
            disc.setText(ModelList.get(i).itm_discount "%");
            String discPrice = ModelList.get(i).itm_discount;

            Float discountedPrice = actualPrice - (actualPrice * discPrice /100);

Defined Constructor:

String  itm_name;
String itm_price;
String itm_discount ;
int img ;

public ListModel(String itm_name, String itm_discount,String  itm_price, int img) {
    this.itm_name = itm_name;
    this.itm_discount = itm_discount;
    this.itm_price = itm_price;
    this.img = img;

Thanks for the help.

CodePudding user response:

For financial calculation, you'd better use java.math.BigDecimal.

    String actualPrice = "100.00";
    String discPrice = "10";//10% discount

    BigDecimal actualPriceBigDecimal = new BigDecimal(actualPrice);

    BigDecimal result = actualPriceBigDecimal.subtract(
            actualPriceBigDecimal.multiply(new BigDecimal(discPrice)).divide(BigDecimal.valueOf(100)));

    TextView txtv_test = findViewById(R.id.txtv_test);
    txtv_test.setText( result.toPlainString());

If you use float, you may get 89.999999.

CodePudding user response:

Being it declared as string, I can get the variable typecast into float by using parse.

Here is my code:

Float actualPrice = Float.parseFloat(ModelList.get(i).itm_price);
Float discPrice = Float.parseFloat(ModelList.get(i).itm_discount);
  •  Tags:  
  • Related