有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

使用getIntent()时int和string之间的java冲突

if ((object.getString("MainCategoryID")).equals("3")
                        && (object.getString("SubCategoryID")).equals("5")) {
                    Log.i("ImageURL ", object.getString("ImageURL"));
                    imageUrls.add(object.getString("ImageURL"));
                    Log.i("Description ", object.getString("Description"));
                    descriptions.add(object.getString("Description"));
                    Log.i("Price ", object.getString("Price"));
                    price.add(object.getString("Price"));
                }

实际上,价格是十进制值,但我把它作为字符串传递给下一个活动。它作为

String price = getIntent().getStringExtra("price");

然后我用这个字符串值来计算小计,如下所示

String quantity = quantityET.getText().toString();

                    double subTotal = 0;

                        subTotal += price * quantity;

但是我得到了这个错误,运算符*对于参数类型java是未定义的。字符串,java。朗,弦。我知道为什么会出现这个错误,但我不知道如何在不使用字符串的情况下在片段之间传递和检索数据

我需要一些帮助来将所有字符串值转换为整数,或者帮助我解决这个问题。任何帮助都将不胜感激


共 (3) 个答案

  1. # 1 楼答案

    您需要将字符串值转换为double。就像

    String price = getIntent().getStringExtra("price");
    String quantity = quantityET.getText().toString();
    
    
    double subTotal = 0;
    subTotal += Double.parseDouble(price) * Double.parseDouble(quantity);
    

    我希望这能对你有所帮助:)

  2. # 2 楼答案

    在代码字符串中,在执行之前,数量必须转换为双倍 对它们进行算术运算

    String quantity = quantityET.getText().toString();
    
                    double subTotal = 0;
    
                        subTotal += price * Double.parseDouble(quantity); 
    
  3. # 3 楼答案

    替换你的代码行

    subTotal += price * quantity;
    

    用这个代码

    subTotal += (Double.parseDouble(price)) * (Double.parseDouble(quantity));