EditText에서 이중 값을 가져 와서 다른 Intent로 전달하기 전에 조작합니다. 원시 데이터 형식을 사용하지 않으므로 toString 메서드를 사용할 수 있습니다.Android에서 문자열을 Double로 변환
문제는 내가 protein = Double.valueOf (p) .doubleValue(); 스타일 명령, 프로그램 강제 logcat.If 나는 어떤 코멘트를 남기지 않고 즉시 폐쇄 단백질과 같은 더미 데이터를 설정 = 1.0; 문제없이 작동합니다. 원시 데이터 형식 및 구문 분석 double에서도 같은 결과가 발생합니다. 이 코드는 일반적인 java의 더미 데이터와 완벽하게 작동합니다. 내가 뭘 잘못하고 있니?
EditText txtProt, txtCarb, txtFat, txtFiber, txtPoints;
String p, c, f, fi;
Double protein, carbs, fat, fiber;
double temp;
Integer points;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.v("Create Prompt", "ready for layout");
setContentView(R.layout.main);
Log.v("Layout Created", "ready for variable assignment");
txtProt = (EditText) findViewById(R.id.Protein);
txtCarb = (EditText) findViewById(R.id.Carbs);
txtFat = (EditText) findViewById(R.id.Fat);
txtFiber = (EditText) findViewById(R.id.Fiber);
txtPoints = (EditText) findViewById(R.id.Points);
btnCalc = (Button) findViewById(R.id.Calc);
Log.v("Variables Assigned", "ready for double assignment");
p = txtProt.getText().toString();
c = txtCarb.getText().toString();
f = txtFat.getText().toString();
fi = txtFiber.getText().toString();
protein=Double.valueOf(p).doubleValue();
carbs=Double.valueOf(c).doubleValue();
fat=Double.valueOf(f).doubleValue();
fiber=Double.valueOf(fi).doubleValue();
Log.v("Doubles parsed", "ready for calculations");
//these are the problem statements
protein = 1.0;
carbs = 1.0;
fat = 1.0;
fiber = 1.0;
protein *= 16;
carbs *= 19;
fat *= 45;
fiber *= 14;
temp = protein + carbs + fat - fiber;
temp = temp/175;
points = new Integer((int) temp);
- gettext에()는 텍스트 뷰가 표시되는 텍스트를 돌려줍니다. http://developer.android.com/reference/android/widget/EditText.html#getText() setText를 다른 버퍼 유형으로 호출하지 않은 경우? – Idistic