Create a boolean function which takes in a string and tells whether it is a numeric string (floating point and negative numbers included) in the syntax the language uses for numeric literals or numbers converted from strings. The first file is the package interface containing the declaration of the Is_Numeric function. The second file is the...
예, OP는 지금 여기에 있으며 그는 지금까지 제안된 모든 솔루션과 대응 솔루션을 듣고 봅니다. 댓글 달아주신 모든 분들의 노고에 감사드립니다. 나는 정직한_knave가 제시한 예제 코드를 좋아한다. 첫째, 그는 자신의 의견을 코드로 뒷받침해 왔습니다. 둘째, 그는 자신의 예제에서 하드 코딩하지 않았습니다. 또한 그의 코드는 0(0, 0.0, 0.00, .0 등)의 모든 형태를 쉽게 처리했으며 쉽게 이해할 수 있습니다. 어쨌든 StringToDouble()을 사용하는 것이 더 낫다고 생각하지 않습니다.
모든 @ whroeder1, 정직한_knave, Ernst Van Der Merwe, Alain Verleyen 및 Fernando Carreiro에게 감사합니다.
솔직히 나는 OP의 의도에 대해 전혀 모른다
일반적인 요청으로 받아들인다면 "변수의 내용이 숫자인지 확인하는 방법?", 가장 우아한 솔루션은 정규식을 사용하는 것입니다.
그리고 여기에 더 완전한 것처럼 보이는 또 다른 것이 있습니다(페이지 맨 끝에 있음).
솔직히 나는 OP의 의도에 대해 전혀 모른다
일반적인 요청으로 받아들인다면 "변수의 내용이 숫자인지 확인하는 방법?", 가장 우아한 솔루션은 정규식을 사용하는 것입니다.
모든 @ whroeder1, 정직한_knave, Ernst Van Der Merwe, Alain Verleyen 및 Fernando Carreiro에게 감사합니다.
그래서:
예
{
StringReplace (text, " " , NULL );
StringReplace (text, "," , NULL );
int point_cnt = 0 ;
for ( int i= StringLen (text)- 1 ; i>= 0 ; i--)
{
int this_char = StringGetChar (text,i);
if (this_char == '.' )
{
point_cnt++;
if (point_cnt> 1 ) return ( false );
if ( StringLen (text)< 2 ) return ( false );
}
else if (this_char == '+' || this_char == '-' )
{
if (i> 0 ) return ( false );
}
else if (this_char < '0' || this_char > '9' ) return ( false );
}
return ( true );
}
true를 반환하면 문자열을 숫자로 캐스팅할 수 있습니다.
그래서:
예
{
StringReplace (text, " " , NULL );
StringReplace (text, "," , NULL );
int point_cnt = 0 ;
for ( int i= StringLen (text)- 1 ; i>= 0 ; i--)
{
int this_char = StringGetChar (text,i);
if (this_char == '.' )
{
point_cnt++;
if (point_cnt> 1 ) return ( false );
if ( StringLen (text)< 2 ) return ( false );
}
else if (this_char == '+' || this_char == '-' )
{
if (i> 0 ) return ( false );
}
else if (this_char < '0' || this_char > '9' ) return ( false );
}
return ( true );
}
true를 반환하면 문자열을 숫자로 캐스팅할 수 있습니다.