package com.android.Calculator;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
public class Calculator extends Activity {
 /** Called when the activity is first created. */
 @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);
 }
 
 private String editNum = "";
 private float number1 = 0;
 private float number2 = 0;
 private boolean operation = false;
 private char chOper = '\0';
 
 public void btnClicked(View btn) {
  Button clickBtn = (Button) btn;
  EditText result = (EditText) findViewById(R.id.exp);
  
  char expr = clickBtn.getText().toString().charAt(0);
  
  if(Character.isDigit(expr)) {
   editNum = editNum.concat(clickBtn.getText().toString());
  
   if (editNum.equals("00")) {
    editNum = "0";
   }
   // 여기서 1 입력하면 01이 아니라 1이 되도록...
   
   result.setText(editNum);
  }
  else {
   if(operation) {
    number2 = Float.parseFloat(editNum);
    
    switch(chOper) {
     case '+' : number1 += number2; break;
     case '-' :
      // 처음에 숫자 없을때 - 누르면 음수로 해야함..
       number1 -= number2; break;
     case '*' : number1 *= number2; break;
     case '/' : number1 /= number2; break;
     case '=' : number1 = number2; break;
    }
    
    editNum = String.valueOf(number1);
    result.setText(editNum);
   }
   else {
    number1 = Float.parseFloat(editNum);
   }
   operation = true;
   chOper = expr;
   editNum = "";
  }
 }
 public void toFloat(View btn) {
  EditText result = (EditText) findViewById(R.id.exp);
  number1 = Float.parseFloat(editNum);
  editNum = editNum.concat(".");
  result.setText(editNum);
  number2 = Float.parseFloat(editNum);
  editNum = String.valueOf(number2);
 }

계산기를 만들고 있는데..
계산기에 숫자 버튼들이랑 . + - * / = 버튼 등이 있습니다
사칙연산은 위에서 switch문에서 실행이 되고
소수점 찍는게 문제인데..
소수점 찍는 함수가 toFloat입니다..

일단 테스트를 해보면
3.5를 입력하고 싶은데 3과 .까지 입력하면 3.으로 되는데
다음 숫자를 입력하려고 할 때 앞에 0이 붙어서 3.05가 됩니다 (3.55는 3.055로 됩니다)
0이 도대체 왜 붙는지 모르겠구요;;

계산도 답이 좀 이상하게 나오는데..
숫자1 (사칙연산)  숫자2 이렇게 하면
답이 숫자2의 자리수에 맞춰서 계산됩니다..
숫자1이 지워지는 거 같아요
555 + 2.04 = 4.04
44 * 3. 5 = 9.15
이렇게 되어요
숫자1은 그냥 없어지고, 숫자2에서
더하기면 숫자2의 정수만 2번 더하고
곱하기면 숫자2의 정수끼리 곱하고, 숫자2의 정수와 소수자리들이 곱해지네요..

숫자를 입력하고 나면
소수점 이후까지 완전하게 입력받아서
그걸 숫자에 저장하고 싶은데 어떻게 고쳐야 할 지 조언 부탁드립니다........ㅜㅜ

(주석은 무시해주셔도 됩니다)