gpt4 book ai didi

java - Android:将文本字段限制为一位小数

转载 作者:行者123 更新时间:2023-12-01 23:45:29 25 4
gpt4 key购买 nike

如何将 EditText 字段限制为仅一位小数。假设用户应该在 (.)[decimal]. 之后仅输入一位数字/数字。

用户输入:1.92 [Its invalid]用户输入:1.9 [Its Valid]

下面是我正在使用的正则表达式。

mPattern = Pattern.compile("[0-9]*+((\\.[0-9]{0," + (digitsAfterZero - 1) + "})?)||(\\.)?");

我遇到小数问题,用户如果输入 23.1没问题,但同一用户可以输入 2.31

如何限制用户只能输入小数点后一位数字。

最佳答案

使用正则表达式怎么样..

public class DecimalDigitsFilter implements InputFilter {

Pattern pattern;

public DecimalDigitsFilter(int digitsBeforeZero,int digitsAfterZero) {
pattern=Pattern.compile("[0-9]{0," + (digitsBeforeZero-1) + "}+((\\.[0-9]{0," + (digitsAfterZero-1) + "})?)||(\\.)?");
}

@Override
public CharSequence filter(CharSequence source, int start, int end, Spanned destination, int destinationStart, int destinationEnd) {

Matcher matcher=pattern.matcher(destination);
if(!matcher.matches())
return "";
return null;
}
}

然后将其称为..

editText.setFilters(new InputFilter[] {new DecimalDigitsFilter(5,1)}); //5 before point and 1 after point.Change it as your need

关于java - Android:将文本字段限制为一位小数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17132942/

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