计算不起作用(android studio)

时间:2015-01-21 20:32:41

标签: android math formula

我有以下代码,为我正在编写的应用程序计算体脂肪,我不知道为什么在按下“计算”按钮时结果总是NaN,如果有人可以提供帮助,我会非常心存感激!

String total1;

public void contaBfMasc(View v) {
    double alt2, cint2, pesco2;
    double conta;
    EditText alt1 = (EditText) findViewById(R.id.altura);
    EditText cint1 = (EditText) findViewById(R.id.cintura);
    EditText pesco1 = (EditText) findViewById(R.id.pescoco);
    TextView Result = (TextView) findViewById(R.id.totalBfMasc);

    alt2 = Float.parseFloat(alt1.getText().toString());
    cint2 = Float.parseFloat(cint1.getText().toString());
    pesco2 = Float.parseFloat(pesco1.getText().toString());

    conta = 495/(1.0324-0.19077*(Math.log10(cint2-pesco2))+0.15456*(Math.log10(alt2)))-450;
    total1 = String.format("%.2f", conta); 
    Result.setText(total1);
}

1 个答案:

答案 0 :(得分:0)

java.lang.Math.log10(double a)方法返回双值a的基数10对数。适用特殊情况: 如果a为NaN或小于零,则结果为NaN。

我怀疑{alt2, cint2, pesco2}中至少有一个是NaN(cint2-pesco2) < 0