2013-05-10 31 views
0

我试图BSTR转换成与浮动:与转换BSTR问题浮动

wcstod(data, NULL) 

的问题是,此功能工作正常,如果数据= 239.78,但我在此格式接受他们数据= 239,78。这段代码的

CComBSTR data = SysAllocString(L"239,78"); 
cout<<wcstod(data,NUll)<<endl; 

输出为239

任何人都可以帮助吗? 谢谢。

回答

1

您应该使用wcstod_l来代替并传递您需要的语言环境作为第三个参数,以便正确理解和分析','。就像这样:

_locale_t fr = _create_locale(LC_ALL, "fr-FR"); // french locale 
CComBSTR data = SysAllocString(L"239,78"); 
cout<<wcstod_l(data, NULL, fr)<<endl; 
+0

非常感谢,它的工作原理! 对不起,由于我的信誉低,我不能投票。 – nooby 2013-05-11 11:17:58