2013-05-10 32 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