gpt4 book ai didi

Android:编辑货币的文本验证

转载 作者:行者123 更新时间:2023-11-29 00:33:26 25 4
gpt4 key购买 nike

我有一个编辑文本,用户可以在其中输入金额,我希望对编辑文本有一些限制

  1. 金额不能大于100000
  2. 用户输入最多两位小数的金额,例如 99999.50

-已编辑-已解决

我如何实现这一点,我是否必须创建一个过滤器,或者我可以使用 myEdittext.addTextChangedListener(new TextWatcher()) 中的Regular Expression 实现它...

myAmountEditText.addTextChangedListener(new TextWatcher() {

@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {}

@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {}

@Override
public void afterTextChanged(Editable s) {
if(amount!=null && amount.length()>=1 ){
if(amount.contains(".")){
int indexOFdec = amount.indexOf(".");

if(indexOFdec >=0) {
if(amount.substring(indexOFdec).length() >3){
amount = amount.substring(0, amount.length()-1);
myAmountEditText.setText(amount);
myAmountEditText.setSelection(myAmountEditText.getText().length());
}
}
}

Double a = Double.parseDouble(amount.toString());

if(a>0 && a<100000.00){
//my stuff
}else{
Toast.makeText(context, "amount greater than 100000", Toast.LENGTH_SHORT).show();
}
}
});

最佳答案

您可以使用此代码:

edittext.addTextChangedListener(new TextWatcher(){
public void afterTextChanged(Editable s) {}

public void beforeTextChanged(CharSequence s, int start, int count, int after){}

public void onTextChanged(CharSequence s, int start, int before, int count){
String strEnteredVal = edittext.getText().toString();

if(!strEnteredVal.equals("")){
int num=Integer.parseInt(strEnteredVal);
if(num<100000){
edittext.setText(""+num);
}else{
edittext.setText("");
}
}

});

我认为我们可以这样工作:

String str = editText.getText().toString();

int indexOFdec = str.indexOf(".");

if(indexOFdec >=0) {
if(str.substring(indexOFdec).length() >2)
{
Toast.makeText(getApplicationContext(), "Print a message here", Toast.LENGTH_SHORT).show();
return;
}
}

关于Android:编辑货币的文本验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14040718/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com