定义的函数: isNumeric(String) 是判断数字的,包括小数
支持格式:
"33" "+33" "033.30" "-.33" ".33" " 33." " 000.000 "
支持格式:
"33" "+33" "033.30" "-.33" ".33" " 33." " 000.000 "
isInteger(String) 仅是用来判断整数的
支持格式:
"33" "003300" "+33" " -0000 "
支持格式:
"33" "003300" "+33" " -0000 "
上面两函数分别各有两种方法可以实现
一、一个个字符判断下去(效率高些)
下面的 iisNumeric(String)、isInteger(String)
下面的 iisNumeric(String)、isInteger(String)
二、利用异常:用Integer.parseInt(str),Double.parseDouble(str)解析字符串,若非数字则抛出异常
下面的 isNumericEx(String)、isIntegerEx(String)--其中isIntegerEx(String)最多支持到十位
下面的 isNumericEx(String)、isIntegerEx(String)--其中isIntegerEx(String)最多支持到十位
package hartech;
/**
* @author
* @version 1.0
*/
public class JMath {
* @author
* @version 1.0
*/
public class JMath {
/**
* support Numeric format:<br>
* "33" "+33" "033.30" "-.33" ".33" " 33." " 000.000 "
* @param str String
* @return boolean
*/
public static boolean isNumeric(String str) {
int begin = 0;
boolean once = true;
if (str == null || im().equals("")) {
return false;
}
str = im();
if (str.startsWith("+") || str.startsWith("-")) {
if (str.length() == 1) {
// "+" "-"
return false;
}
begin = 1;
}
for (int i = begin; i < str.length(); i++) {
if (!Character.isDigit(str.charAt(i))) {
boolean once = true;
if (str == null || im().equals("")) {
return false;
}
str = im();
if (str.startsWith("+") || str.startsWith("-")) {
if (str.length() == 1) {
// "+" "-"
return false;
}
begin = 1;
}
for (int i = begin; i < str.length(); i++) {
if (!Character.isDigit(str.charAt(i))) {
if (str.charAt(i) == '.' && once) {
// '.' can only once
once = false;
}
else {
return false;
}
}
}
if (str.length() == (begin + 1) && !once) {
// "." "+." "-."
return false;
}
return true;
}
// '.' can only once
once = false;
}
else {
return false;
}
}
}
if (str.length() == (begin + 1) && !once) {
// "." "+." "-."
return false;
}
return true;
}
/**
* support Integer format:<br>
* "33" "003300" "+33" " -0000 "
* @param str String
* @return boolean
*/
public static boolean isInteger(String str) {
int begin = 0;
if (str == null || im().equals("")) {
return false;
}
str = im();
if (str.startsWith("+") || str.startsWith("-")) {
if (str.length() == 1) {
// "+" "-"
时间正则表达式java
* support Integer format:<br>
* "33" "003300" "+33" " -0000 "
* @param str String
* @return boolean
*/
public static boolean isInteger(String str) {
int begin = 0;
if (str == null || im().equals("")) {
return false;
}
str = im();
if (str.startsWith("+") || str.startsWith("-")) {
if (str.length() == 1) {
// "+" "-"
时间正则表达式java
return false;
}
begin = 1;
}
for (int i = begin; i < str.length(); i++) {
if (!Character.isDigit(str.charAt(i))) {
return false;
}
}
return true;
}
}
begin = 1;
}
for (int i = begin; i < str.length(); i++) {
if (!Character.isDigit(str.charAt(i))) {
return false;
}
}
return true;
}
/**
* use Exception
* support Numeric format:<br>
* "33" "+33" "033.30" "-.33" ".33" " 33." " 000.000 "
* @param str String
* @return boolean
*/
public static boolean isNumericEx(String str) {
try {
Double.parseDouble(str);
return true;
}
catch (NumberFormatException ex) {
return false;
}
}
* @param str String
* @return boolean
*/
public static boolean isNumericEx(String str) {
try {
Double.parseDouble(str);
return true;
}
catch (NumberFormatException ex) {
return false;
}
}
/**
* use Exception
* use Exception
* support less than 11 digits(<11)<br>
* support Integer format:<br>
* "33" "003300" "+33" " -0000 " "+ 000"
* @param str String
* @return boolean
*/
public static boolean isIntegerEx(String str) {
str = im();
try {
Integer.parseInt(str);
return true;
}
catch (NumberFormatException ex) {
if (str.startsWith("+")) {
return isIntegerEx(str.substring(1));
* support Integer format:<br>
* "33" "003300" "+33" " -0000 " "+ 000"
* @param str String
* @return boolean
*/
public static boolean isIntegerEx(String str) {
str = im();
try {
Integer.parseInt(str);
return true;
}
catch (NumberFormatException ex) {
if (str.startsWith("+")) {
return isIntegerEx(str.substring(1));
}
return false;
}
}
}
return false;
}
}
}
------------------------------------正则表达式判断法------------------------------
//判断是否是整数
public static boolean isNumeric(String s)
{
if((s != null)&&(s!=""))
return s.matches("^[0-9]*$");
else
return false;
}
/
/判断传递来的是否是数字
public static int checkID(String s)
{
if((s == null)||(s.length() == 0)||!s.matches("^[0-9]*$"))
{
return 0;
}
else
{
if(s.length() < 10)
{
return Integer.parseInt(s);
}
else
{
public static int checkID(String s)
{
if((s == null)||(s.length() == 0)||!s.matches("^[0-9]*$"))
{
return 0;
}
else
{
if(s.length() < 10)
{
return Integer.parseInt(s);
}
else
{
return 0;
}
}
}
//判断传递来的是否是字符串
public static String checkString(String s)
{
if((s == null)||(s.length() == 0)||s.matches("^[0-9]*$"))
{
return "";
}
else
{
return s;
}
}
}
}
}
//判断传递来的是否是字符串
public static String checkString(String s)
{
if((s == null)||(s.length() == 0)||s.matches("^[0-9]*$"))
{
return "";
}
else
{
return s;
}
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论