2013-05-20 2 views
0

저는 주어진 사람의 소득세를 계산하는 앱을 만들려고합니다. 사용자가 월간 임금을 지적하고 MainActivity.java에서 계산되는 EditText 필드가 있습니다. 문제는 - 주어진 입력 필드를 사용하여 몇 가지 연산을 시도하면 The operator * is undefined for the argument type(s) EditText, double 오류가 나타납니다.Android EditText 정수 값을 확인하는 방법은 무엇입니까?

wage = (EditText) findViewById(R.id.wage); 
submit.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 
      wageAfterTax = wage * 0.25; 
      result.setText("Your wage after tax deductions is " + wageAfterTax); 
     } 
    }); 

무엇을 할 수 있습니까?

답변

4

wage은 EditText 개체에 대한 참조입니다. 텍스트를 가져와 먼저 숫자로 변환해야합니다.

wage = (EditText) findViewById(R.id.wage); 
submit.setOnClickListener(new View.OnClickListener() { 

    @Override 
    public void onClick(View v) { 
     // TODO Auto-generated method stub 
     String wageText = wage.getText().toString(); 
     double wageAmount = Double.valueOf(wageText); 
     wageAfterTax = wageAmount * 0.25; 
     result.setText("Your wage after tax deductions is " + wageAfterTax); 
    } 
}); 
+0

감사합니다. :) – Xeen

+0

글쎄, 거의. '이중'은 돈을 처리하기위한 최상의 데이터 유형이 아닙니다. 반올림 오류를 피하기 위해 대신 BigDecimal을 제안합니다. – GreyBeardedGeek

관련 문제