2014-03-28 4 views
0

내 Android 앱에서 변수에 Double 데이터 유형을 사용하고 있습니다.안드로이드에서 큰 숫자 계산없이 지수 "E"

그것은 단순히 그 수에서 어떤 비율 증가 될 수와 쇼를 취 예 1,000,000 플러스 1천퍼센트에 대한

문제는 내가합니다 (지수 표시를하지 않을 것입니다 = 1.1E7

E), 나는 그것을 소수로 원한다.

은 사용자가 당신이 나를 보여줄 수에서 정보가 EDITTEXT (텍스트 상자)에 표시되는 계산 버튼 E.와

enter code here 

Button calc2 = (Button)findViewById(R.id.button1); 
calc2.setOnClickListener(new View.OnClickListener() 


{ 
    public void onClick(View v) 
    { 

     EditText number1 = (EditText)findViewById(R.id.editText1); 
     EditText number2 = (EditText)findViewById(R.id.editText2); 
     EditText number3 = (EditText)findViewById(R.id.editText3); 



     double editText1 = Double.parseDouble(number1.getText().toString()); 
     double Pluspercent = Double.parseDouble(number2.getText().toString()); 
     double editText3 = Double.parseDouble(number3.getText().toString()); 

     double Result1 = 0 ; 
     double Result2 = 0; 

     Result1 = Pluspercent * 0.01 ; 
     Result2 = editText1 * Result1; 
     editText3 = editText1 + Result2 ; 


     number3.setText(editText3 + ""); 

    } 
}); 

enter code here 

코드 작동하지만 디스플레이를 클릭 영역의 코드 조각입니다 십진수로 결과를 표시하기 위해 사용할 코드. 십진수 결과는 11,000,000이어야합니다.

현재 쉼표를 걱정할 필요가 없습니다.

일부 언어에서는이 문제를 해결할 Decimal 데이터 형식을 사용합니다. 왜 안드로이드가 이것을 가지고 있는지 누구나 알 수 있습니까?

나는

데이터 유형의 목록을 보여줍니다

http://lecturesnippets.com/android-variables-data-types/

보았다하지만 더블 가장 큰 컨테이너 것 같다 내가 원하지 않는 지수의 일을 사용합니다.

도움 주셔서 감사합니다.

al

답변

0

DecimalFormat 개체를 찾고 있습니다. Double을 DecimalFormat.format(...) 메서드로 전달하여 StringBuffer을 가져온 다음 EditText에 전달하기 전에 표시 할 나머지 텍스트를 StringBuffer에 추가하고 싶습니다.

당신은이 방법에 특히 관심이있을 것이다 : 나는 몇 일 여기에 다시 게시 할 예정입니다 박히 경우 othewise

public StringBuffer format (double value, StringBuffer buffer, FieldPosition position) 
+0

확인을 나는 그것을 할 얻기 위해 그것을 사용할 수 있어야합니다, 감사합니다. – user3473579