CString::Format("%d",xx);其中xx不能为双精度,不然会转化错误,应该使用CString::Format("%d",(LONG)xx);
例:
DOUBLE d = 22.443;
CString str;
str.Format("%d", d);转化后的str = "1924145349",这是错误的。
例:
DOUBLE d = 22.443;
CString str;
str.Format("%d", d);转化后的str = "1924145349",这是错误的。
博客指出CString::Format在处理双精度数时会出现转化错误,如使用CString::Format(\%d\ xx),当xx为双精度数时结果错误。正确做法是使用CString::Format(\%d\ (LONG)xx),并给出了示例。
1550

被折叠的 条评论
为什么被折叠?



