Java

[Java] String의 숫자 여부 판별하기(StringUtils, NumberUtils, Method)

김먼저 2023. 2. 7. 10:21

Java에서 String이 숫자인지를 판별하기 위해 여러가지 편리한 유틸이 있습니다.

 

제가 시도하다가 성공한 것과 안된 것들 모두 알아보겠습니다. (2023.02.07 - gradle 기준 작성)

 

 

1. NumberUtils.isCreatable

import org.apache.commons.lang3.math.NumberUtils;
Boolean b = NumberUtils.isCreatable("123");

 

2. Plain Java

private boolean isNumeric(String strNum){
	if(strNum == null){
		return false;
	}
	try{
		double d = Double.parseDouble(strNum);
	}catch (NumberFormatException nfe){
		return false;
	}
	return true;
}

 

 

<됐었는데, 안됐습니다~>

 

(버전이 안맞거나 지원이 끊긴 경우로 생각됩니다.)

 

1. NumberUtils.isNumber

import org.apache.commons.lang3.math.NumberUtils;
Boolean b = NumberUtils.isNumber("123");

2. StringUtils.inNumberic

import org.apache.commons.lang3.StringUtils;
Boolean b = StringUtils.isNumberic("123");  → 음수 인식X

 

 

 

NumberUtils.isCreatable 메서드를 까보면 2. Plain Java보다 복잡한 것 같아 메서드 만들어서 사용했습니다.