2015-01-08 5 views
-1

선언 :진수 금액 형식 문제 - 안드로이드

XML 파일 편집 텍스트에서
DecimalFormat mAmtFormat = new DecimalFormat("##,##,##,##0.00"); 

edtAmounts = (EditText) findViewById(R.id.txtAmounts); 

SQLite는 데이터베이스에서 565,656,565 (더블)

가져 오기 데이터입니다 백 엔드 mCurtotamt에서

<EditText 
    android:id="@+id/txtAmounts" 
    android:layout_height="50dip" 
    android:layout_marginLeft="10dip" 
    android:background="#FFFFFF" 
    android:gravity="center_vertical" 
    android:inputType="numberDecimal" 
    android:singleLine="true" 
    android:textSize="18dip" 
    android:textStyle="bold" 
    android:width="170dip" /> 

로 :

edtAmounts.setText(String.valueOf(mAmtFormat.format(mDoubleformat 
           .parse(mCurtotamt).doubleValue()))) 

하지만 편집 텍스트에 설정된 값은 56,56,57,000.00입니다.

여기에서 무슨 일이 일어나고 있는지.

+0

mDoubleformat은 어떻게 초기화됩니까? 또한 편집 텍스트가 어떻게 나타나는지 알려주십시오. – samgak

+0

edittext는 565656565.00과 같은 실제 값으로 표시되어야합니다. – mdsaleem1804

+0

NumberFormat mDoubleformat = NumberFormat.getInstance (Locale.US); – mdsaleem1804

답변

0

사용이 같은 인도의 형식이 하나의 "##, ##, ## 0.00"

static public String formatCurrency(Double doubleVal) { 
    return new DecimalFormat("##,##,##0.00").format(doubleVal); 
} 

이 기능은 올바른 지정된 형식의 값을 반환합니다. 5555555.00 값을 전달하면 함수는 55,55,555.00을 문자열로 반환합니다.

+0

나는 코드를 시험했지만 그 코드는 작동하지 않았다. 어떤 실수도했지만 @samgak는 나를 위해 일한 대답을 해준다. 당신의 도움 – mdsaleem1804

1

당신이 백 엔드에서 값을 얻을 때,이 같은 문자열로하지 않습니다과 같이 이중 직접적으로 그것을 얻을, 대신

String mCurtotamt = cursor.getString(cursor.getColumnIndex("column_name")); 

:

double mCurtotamt = cursor.getDouble(cursor.getColumnIndex("column_name")); 

그럼 당신은 당신이 편집 텍스트를 설정할 때 구문 분석 할 필요는 없지만 직접 포맷 할 수 있습니다 :

edtAmounts.setText(String.valueOf(mAmtFormat.format(mCurtoamt))); 

을 문제가있는 인트로드입니다 cursor.getString()을 호출 할 때이를 String으로 변환 할 때 사용됩니다.

+0

고맙습니다. – mdsaleem1804