我正在尝试将 BSTR 转换为浮动:
wcstod(data, NULL)
问题是如果 data = 239.78,这个函数可以正常工作,但是我以这种格式接收它们data = 239,78。
CComBSTR data = SysAllocString(L"239,78");
cout<<wcstod(data,NUll)<<endl;
此代码的输出为 239。
任何人都可以帮忙吗?谢谢你。
我正在尝试将 BSTR 转换为浮动:
wcstod(data, NULL)
问题是如果 data = 239.78,这个函数可以正常工作,但是我以这种格式接收它们data = 239,78。
CComBSTR data = SysAllocString(L"239,78");
cout<<wcstod(data,NUll)<<endl;
此代码的输出为 239。
任何人都可以帮忙吗?谢谢你。
您应该改用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;