我正在開發一個關於pmt的應用程序。在這裏我有一個函數,它將輸入的編輯文本(僅數字)轉換爲十進制(它被要求edittext會以某種方式使用戶給定的輸入看起來像一個貨幣,例如用戶輸入三個數字「987」在EditText上會顯示「987」沒有變化,但是當用戶類型多,一個或多個可以說,「987654」這將是「987654」)android如何將十進制轉換爲int(即將計算),然後再轉換爲十進制(結果)
Edittext 1st example
987
Edittext 2nd example
987,654
Edittext another example
987,654,321
Edittext another example
9,876
Edittext another example
98,765
但是這個功能將使得從EditText上輸入不計算能力(我仍然是新的android(日食)我有另一個功能,將從同一個edittext並自動計算輸入(沒有按鈕點擊或一些行動),然後顯示在同一個佈局的文本視圖的結果) 我想知道如果我們可以說把它轉換爲int(來計算)然後轉換回到十進制。或者以某種方式存儲要計算的臨時數據,而不更改顯示,edittext上的顯示仍爲十進制格式。
我makedecimal功能:
public void myEditTextAndroidOnClick(View v)
{
MyEditText.setRawInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL);
DigitsKeyListener dkl = new DigitsKeyListener(true,true);
MyEditText.setKeyListener(dkl);
MyEditText.addTextChangedListener(new TextWatcher(){
private String current = "";
@Override
public void afterTextChanged(Editable s) {
String userInput=s.toString();
if(!userInput.toString().equals(current)){
MyEditText.removeTextChangedListener(this);
String cleanString = userInput.replaceAll("[,]", "");
if(cleanString.length()>0){
double parsed = Double.parseDouble(cleanString);
String formated = DecimalFormat.getNumberInstance().format(parsed);
current = formated;
MyEditText.setText(formated);
MyEditText.setSelection(formated.length());
}else{
MyEditText.setText(cleanString);
MyEditText.setSelection(cleanString.length());
}
MyEditText.addTextChangedListener(this);
}
}
@Override
public void beforeTextChanged(CharSequence s, int start,
int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start,
int before, int count) {
}
});
}
計算器
MyEditText.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
String text1 = MyEditText.getText().toString();
if (text1.length() != 0) {
int input1 = Integer.valueOf(text1);
int input2 = Integer.valueOf(s.toString());
int output = (input1 * input2)/100;
MyTextViewThatWillDisplayTheResult.setText(output + "");
}
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void afterTextChanged(Editable s) {
}
});
}
文本2來自同一layout.I其他的EditText在想如果這個功能,可以在相同的功能合併或以某種方式轉換到int(我實際上使用long)然後轉換回MyTextViewThatWillDisplayTheResult小數。但我不知道該怎麼做,我被困在這裏。
在此先感謝