首先在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());
} }
});
} }