VC CString转换成float的有关问题

VC CString转换成float的问题
CString m_addVariable2 = "45";
float Variable2;
Variable2 = (float)atof((char*)LPCTSTR(m_addVariable2));
这句话有什么问题?没怎么用过转换,我设了个断点,发现第3句中的Variable2的值变成了4!!这是怎么回事?这个转换是从网上看到的,怎么会这样?能不能详细的说说这转换出错的地方?谢谢!!如果这样不行的话有什么其他办法可以把CString类型转换成float类型?

------解决方案--------------------
你用的是unicode的。atof函数不行,看看MSDN找到对于的函数就可以了。
------解决方案--------------------
UNICODE下 用 _tstof