我正在申请PMT功能。而且我在某个时候陷入困境。我有一个函数将EditText的数字输入转换为十进制,例如10000000至10,000,000。还有另一个与此转换器功能发生冲突。另一个处理3个EditTexts,1个EditText用于价格输入,第二个EditText用于百分比,最后一个将计算(自动)它们的结果,这两个都是使用整数。
这是数字转换器的代码
public void makeDecimal(View v) {
ethint1.setRawInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL);
DigitsKeyListener dkl = new DigitsKeyListener(true, true);
ethint1.setKeyListener(dkl);
ethint1.addTextChangedListener(new TextWatcher() {
private String current = "";
@Override
public void afterTextChanged(Editable s) {
String userInput = s.toString();
if (!userInput.toString().equals(current)) {
ethint1.removeTextChangedListener(this);
String cleanString = userInput.replaceAll("[,]", "");
if (cleanString.length() > 0) {
double parsed = Double.parseDouble(cleanString);
String formated = DecimalFormat.getNumberInstance().format(parsed);
current = formated;
ethint1.setText(formated);
ethint1.setSelection(formated.length());
} else {
ethint1.setText(cleanString);
ethint1.setSelection(cleanString.length());
}
ethint1.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) {
}
});
}
以下是计算的代码
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.simulasikredit);
ethint1 = (EditText) findViewById(R.id.ethint);
etpersen2 = (EditText) findViewById(R.id.etpersen);
textvDP1 = (EditText) findViewById(R.id.textvDP);
bkalkulasi1 = (Button) findViewById(R.id.bkalkulasi);
etpersen2.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
String text1 = ethint1.getText().toString();
if (text1.length() != 0) {
int input1 = Integer.valueOf(text1);
int input2 = Integer.valueOf(s.toString());
int output = (input1 * input2) / 100;
textvDP1.setText("" + output /*+ ""*/);
}
}
}
}
然而,拥有他们我的应用程序将崩溃。如果我只使用其中一个计算器或数字转换器,它就可以工作。 有没有办法让它们都起作用? 注意:我的所有这些代码都在一个类中,我的主要类