首先在xml 中把inputType设置为numberDecimal (包含小数点)然后在把maxLeng设置为16
package com.example.numbertest;
import android.app.Activity;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.widget.EditText;
public class MainActivity
extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
EditText editText=(EditText)
this.findViewById(R.id.et);
editText.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) {
String str=
s.toString();
//如果字符串中有小数点,就对小数点进行分割,
if(str.contains("."
)){
String[] strArr = str.split("\\."
);
//判断小数点后面的位数,如果超过两位就删除后面的数据,不让输入
if(strArr.length>1 && strArr[1].length()>2
){
s.delete(str.length()-1
, str.length());
}
}
//如果不包含小数点,只能输入13整数,如果包含小数点就按照小数点的进行处理
if(str.length()>13 && !str.contains("."
)){
s.delete(str.length()-1
, str.length());
}
}
});
}
}
转载于:https://www.cnblogs.com/tianshidechibang234/p/4099194.html