diff --git a/String.cpp b/String.cpp index b452de91..45beac63 100644 --- a/String.cpp +++ b/String.cpp @@ -155,6 +155,7 @@ CString CString::ToString(int i) { stringstream s; s << i; return s.str(); } CString CString::ToString(unsigned int i) { stringstream s; s << i; return s.str(); } CString CString::ToString(long i) { stringstream s; s << i; return s.str(); } CString CString::ToString(unsigned long i) { stringstream s; s << i; return s.str(); } +CString CString::ToString(long long i) { stringstream s; s << i; return s.str(); } CString CString::ToString(unsigned long long i) { stringstream s; s << i; return s.str(); } CString CString::ToString(double i) { stringstream s; s << i; return s.str(); } CString CString::ToString(float i) { stringstream s; s << i; return s.str(); } @@ -171,6 +172,11 @@ CString CString::ToKBytes(double d) { return szRet; } +unsigned long long CString::ToULongLong() const { return( strtoull( c_str(), NULL, 10 ) ); } +long long CString::ToLongLong() const { return( strtoll( c_str(), NULL, 10 ) ); } +double CString::ToDouble() const { return( strtod( c_str(), NULL ) ); } + + bool CString::Trim(const CString& s) { bool bLeft = LeftTrim(s); return (RightTrim(s) || bLeft); diff --git a/String.h b/String.h index 2140aed7..7ed06afa 100644 --- a/String.h +++ b/String.h @@ -37,17 +37,24 @@ public: static CString ToString(unsigned int i); static CString ToString(long i); static CString ToString(unsigned long i); + static CString ToString(long long i); static CString ToString(unsigned long long i); static CString ToString(double i); static CString ToString(float i); static CString ToPercent(double d); static CString ToKBytes(double d); + + unsigned long long ToULongLong() const; + long long ToLongLong() const; + double ToDouble() const; + bool Trim(const CString& s = " \t\r\n"); bool LeftTrim(const CString& s = " \t\r\n"); bool RightTrim(const CString& s = " \t\r\n"); bool LeftChomp(unsigned int uLen = 1); bool RightChomp(unsigned int uLen = 1); + private: protected: };