글쎄, 내 첫 번째 안드로이드 애플 리케이션을 디버깅하고 내 프로그램에 문제가있는 메신저 ... 내 계산기 합계, 뺄셈, 곱셈 및 나누기 ... 그리고 마지막 작업 내 문제입니다 ... TextEdit을 사용하여 휴대 전화에 값을 입력 할 수 있지만 5를 3으로 나눌 때 예를 들어 응답은 부동이며 앱이 다운됩니다. 5.0 및 3.0을 사용하는 경우에만 작동합니다.계산기 float 변환
정수를 부동 소수로 변환하고 항상 부동 소수점에 응답합니까?
지금까지이
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();" 나는 내가 0.0을 사용하지 않는 한 늘 수레로 내 입력의 합이 방법은 "다른"을 입력 한 후 ... 포럼에
if (firstNum == null || secondNum == null) {
Toast.makeText(getApplicationContext(), "Insira Valores!",
Toast.LENGTH_SHORT).show();
} else {
result.setText(firstNum.add(secondNum).toString());
}
}
});
을 때까지 좋은 변환 ... 모든하는 방법을 보았다. .. "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());
}
}
});
스택 트레이스를 게시 할 수 있습니까? –
'secondFloat = firstNum.floatValue();'정말 원하는 것입니까? 'secondFloat = secondNum.floatValue();'를 대신하고 싶지 않으세요? –
LOL ... 복사/붙여 넣기에서 가져온 것입니다 ... 'secondFloat = secondNum.floatValue();' –