형식 문자열이 유효한지 확인하는 쉬운 방법이 있습니까? 예를 들어 다음은 숫자 형식 문자열을 테스트하는 데 사용하는 코드입니다.FormatString을 확인하는 쉬운 방법은 유효합니까?
public static bool IsValidFormatStringNumber(string FormatString)
{
try
{
const decimal number = 0.056m;
var formattedNumber = number.ToString(FormatString);
return formattedNumber.Length > 0;
}
catch
{
return false;
}
}
예외를 catch하거나 결과 문자열에 길이가 없는지 확인하려고합니다. 그러나이 테스트는 "hsibbur"형식의 문자열 (모든 쓰레기)이 길이가있는 "hsaibbur"문자열로 결과에 따라 실패합니다.
백분율 및 날짜 형식 문자열에 대해 동일한 테스트를 수행하려고합니다.
기본적으로 'x = 1; if (x! = 1) throw 오류;'와 같은 기본 유형에서'toString'을 검사하고 있습니까? 당신이 문자열 형식을 테스트 할 필요가있을 정도로 세밀하게 보이지는 않습니다. (뭔가 빠졌거나 더 나은 반올림이 필요하지 않거나 ...) - EDIT : 가능한 IFormatProviders를 시도하고 있습니까? ? –
"hsibbur"형식 문자열이 유효합니다! –
또한, 단지'FormatException' 잡기는 어떨까요? _real_ 예외가 생길 수 있습니다. –