|
간단하게..
StrToFloatDef(edit1->Text,0);
라고 쓰면 해결되지 않을까요?
hello 님이 쓰신 글 :
: XE8 환경입니다.
: 원래는 Tedit 컴포넌트에서 입력한 데이터를 검증을 해야 하는데요
:
: StrToFloat(edit1->Text);
: 을썼었는데
: 이게 숫자형태가 아닌 다른 문자열 '라든지 #%^@ 같은 문자가 들어오면 에러가 납니다.
:
: 당연히 edit1에서 입력받을때 숫자나 부동소수점이 아닌 다른 문자가 안들어오게 막으면 되는데
:
: 좀더 간단하게 생각한 방법이 atof 를 쓰면 이상한 문자 이후에 건 잘라 버리고 이상한 문자로 쓰면 0으로 리턴해서
: 간편하고 좋을거 같아서 해볼려고
: atof(edit1->Text.c_str())
: 을 썼는데
: [bcc32 Error] Main.cpp(604): E2034 Cannot convert 'wchar_t *' to 'const char *'
:
: 라고 Tedit의 .c_str() 리턴이 char* 가 아니라 wchar_t * 였더군요
:
: 이걸 char* 형태로 변환 하고 싶은데 잘 모르겠습니다.
:
: 분명 6버전에서는 잘 되었던거 같은데.. 유니코드로 바뀌면서 좀더 구문을 추가 해야 하는거 같은데요..
:
:
: 조언을 구합니다.
:
|