1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | #include "stdafx.h" #include < string > #include < iostream > #include < locale > #include < algorithm > int to_int( const std::string& intString ) { bool isDigit = std::all_of( intString.begin(), intString.end(), []( const std::string::value_type& c) -> bool { return std:: isdigit (c, std::locale()); }); return isDigit ? std::stoi( intString ) : int (); } float to_float( const std::string& floatString) { bool isDigit = std::all_of( floatString.begin(), floatString.end(), []( const std::string::value_type& c) -> bool { return std:: isdigit (c, std::locale()) || (c == '.' ); }); return isDigit ? std::stof( floatString ) : float (); } int _tmain( int argc, _TCHAR* argv[]) { std::string invalidIntString = "a10a" ; std::cout << "invalid int : " << to_int(invalidIntString) << std::endl; std::string validIntString = "10" ; std::cout << "valid int : " << to_int(validIntString) << std::endl; std::string invalidFloatString = "a10.1a" ; std::cout << "invalid float : " << to_float(invalidFloatString) << std::endl; std::string validFloatString = "10.1" ; std::cout << "valid float : " << to_float(validFloatString) << std::endl; return 0; } |
[C++] 문자열을 숫자로 바꾸기(string to int, to_int)
프로그래밍/소스 코드
2012/02/27 04:28
문자열을 숫자로 바꿀 때 간단하게 digit 검사를 하고 값을 변환 하는 예제
글 걸기 주소 : 이 글에는 트랙백을 보낼 수 없습니다
덧글을 달아 주세요