import android.app.Activity; import android.os.Bundle; import android.text.InputType; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; public class MainActivity extends Activity implements View.OnClickListener { private EditText et_money; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); } private void initView() { et_money = (EditText) findViewById(R.id.et_money); et_money.setInputType(InputType.TYPE_NUMBER_FLAG_DECIMAL | InputType.TYPE_CLASS_NUMBER); Button btn_confirm = (Button) findViewById(R.id.btn_confirm); btn_confirm.setOnClickListener(this); // et_money.setFilters(new InputFilter[]{new InputFilter() { // @Override // public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) { // if (source.equals(".") && dest.toString().length() == 0) { // return "0."; // } // if (dest.toString().contains(".")) { // int index = dest.toString().indexOf("."); // int mlength = dest.toString().substring(index).length(); // if (mlength == 3) { // return ""; // } // } // return null; // } // }}); } @Override public void onClick(View v) { if (isNumber(et_money.getText().toString().trim())) { Toast.makeText(this, et_money.getText().toString().trim(), Toast.LENGTH_SHORT).show(); } else { Toast.makeText(this, "不是金额", Toast.LENGTH_SHORT).show(); } } //^(([1-9]{1}\d*)|([0]{1}))(\.(\d){1,2})?$ 0/0.0/0.00 可以 //^(([1-9]\d*)(\.\d{1,2})?|0\.([1-9]|\d[1-9])|0)$ 0.0/0.00 都不行public static boolean isNumber(String str) { java.util.regex.Pattern pattern = java.util.regex.Pattern.compile("^(([1-9]\\d*)(\\.\\d{1,2})?|0\\.([1-9]|\\d[1-9])0)$"); java.util.regex.Matcher match = pattern.matcher(str); return match.matches(); }}^(([1-9]\\d*)|([0-9]\\d*\\.\\d?[1-9]{1}))$这个是我自己写的0/ 0.0/0.00 都不行
正则表达式判断金额 0/0.0/0.00 不是金额
最新推荐文章于 2024-07-16 05:17:18 发布