那么,即时调试我的第一个Android应用程序和即时通讯与我的程序有问题...我的计算器只加法,减法,乘法和除...和最后一个操作是我的问题...我使用TextEdit在我的手机上插入任何值,但当我除以3时,例如,答案是一个浮点数,应用程序将崩溃。它只会工作,如果我使用5.0和3.0,计算器浮点数转换
是否有无论如何转换整数浮动和总是回答浮动?
到目前为止,这是我已经得到了每一个操作...
try {
firstNum = new BigDecimal(firstInput.getText().toString());
firstFloat = firstNum.floatValue();
} catch (NumberFormatException e) {
firstNum = null;
}
try {
secondNum = new BigDecimal(secondInput.getText().toString());
secondFloat = secondNum.floatValue();
} catch (NumberFormatException e) {
secondNum = null;
}
的 “firstFloat = firstNum.floatValue();”和“secondFloat = firstNum.floatValue();”我已经看到论坛上的转换......一切都很好,直到一个办法......
if (firstNum == null || secondNum == null) {
Toast.makeText(getApplicationContext(), "Insira Valores!",
Toast.LENGTH_SHORT).show();
} else {
result.setText(firstNum.add(secondNum).toString());
}
}
});
进入“其他”,这样就不会总结我的输入,花车,除非我用.0之后。 .. 有无论如何去做所有使用“firstFloat”和“secondFloat”的操作?
司:
div.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
firstNum = new BigDecimal(firstInput.getText().toString());
} catch (NumberFormatException e) {
firstNum = null;
}
try {
secondNum = new BigDecimal(secondInput.getText().toString());
} catch (NumberFormatException e) {
secondNum = null;
}
if (firstNum == null || secondNum == null) {
Toast.makeText(getApplicationContext(), "Insira Valores!",
Toast.LENGTH_SHORT).show();
} else {
BigDecimal div = firstNum.divide(secondNum).setScale(2,
BigDecimal.ROUND_HALF_EVEN);
result.setText(div.toString());
}
}
});
你可以发布stacktrace吗? –
'secondFloat = firstNum.floatValue();'那真的是你想要的吗?你不想做'secondFloat = secondNum.floatValue();'而不是? –
大声笑...它来自复制/粘贴...它是'secondFloat = secondNum.floatValue();' –