一些常用的数据转换,写在这里方便自己以后查阅。
CE是支持ASCII函数的,但原有的文本格式还是UNICODE。
CString->Double
//_tcstod (const char *nptr, char **endptr)
CString str = _T("123.123");
double src;
src = _tcstod(str, 0);
如果只取整数部分不取小数的话
//_tcstoul (const char *nptr, char **endptr, int base)
CString str = _T("123.123");
double src;
src = _tcstoul(str, 0, 10);
_tcstoul()能把字符串转换成任意进制的长整数(2,8,10,16)。
Double->CString
CString str
double src = 123.123;
str.Format(_T("%f"), src);
去掉多余的0。
CString str;
str.Format(_T("%g"), 123.123000);
整数部分使用千位分隔符,保留两位小数
CString str;
str.Format(_T("%n"), 123123.123000);
CString->int
CString str = _T("123.123");
int src;
src = _ttoi(str);
int->CString
CString str
int src = 123;
str.Format(_T("%d"), src);