将bstr_t转换为double类型

Converting bstr_t to double

本文关键字:double 类型 转换 bstr      更新时间:2023-10-16

如何在c++中转换bstr_t为double ?

我想转换为*char,然后*char到双精度?

如果您有char*wchar_t*字符串,请使用strtod/wcstod函数读取双精度类型

。使用@Steve的建议:

_bstr_t x;
double q = wcstod(x, NULL); // implicit conversion!
double p = strtod(x, NULL); // same

显然_bstr_t有隐式转换操作符到const char *const wchar_t*,所以你可以直接在浮点解析函数中使用它们。

您可以将其转换为const char*(有一个转换器可以处理从宽char到MBCS的映射),然后根据您的意愿转换为double - stringstream::operator>>例如

如果您想控制区域设置,请调用wcstod或_wcstod_l。

bstr_t myBstr_t = L"1.234";
double d = wcstod(myBstr_t, NULL);