我是android世界的新人:) 我已经阅读了Android教程,并尝试使用它。 我想尝试计算肾功能, 我使用了一些带有NumberDecimal Type的EditText来获取三个值: 年龄,体重,创造力 然后我使用Radiogroup选择一个取决于性别的值, 但是当我想尝试得到结果的时候 我收到了错误
"运营商' - '不能应用于' double' android.widget.EditText'
我不明白错误的原因。
public class CG extends AppCompatActivity {
private RadioGroup ChoixSexe = null;
private double ChoixValeur=0;
private double Calcul=0;
private double age=0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_cg);
EditText poids=(EditText)findViewById(R.id.poids);
EditText age=(EditText)findViewById(R.id.age);
EditText créat=(EditText)findViewById(R.id.créat);
ChoixSexe =(RadioGroup)findViewById(R.id.sexe);
ChoixSexe.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener(){
public void onCheckedChanged(RadioGroup group, int LeChoix){
switch (LeChoix)
{
case R.id.homme:
ChoixValeur =1.23;
break;
case R.id.femme:
ChoixValeur=1.04;
break;
}
}
});
Calcul=(140.0-age)/créat*poids*ChoixValeur;
}
}
对我的英语道歉,这有点近似。
答案 0 :(得分:0)
您需要将EditText对象转换为double(或int,float,long等)以使用标准数学运算符。
答案 1 :(得分:0)
这里:
Calcul=(140.0-age)/créat*poids*ChoixValeur;
未编译,因为age是类EditText
的对象,
获取文本(将是一个sstring)调用方法age.getText()
,然后解析,使其成为Double,这样你就可以用它做数学运算
double d = Double.parseDouble(age.getText().toString());
calcul = (140.0 - d) / creat * poids * ChoixValeur;
答案 2 :(得分:0)
使用Double.valueOf(age.getText()。toString())并确保在该文本字段中有rnvmerical值