回答
如果你有char*
或wchar_t*
字符串,使用strtod
/wcstod
函數讀取double。
E.g.使用@史蒂夫的建議:
_bstr_t x;
double q = wcstod(x, NULL); // implicit conversion!
double p = strtod(x, NULL); // same
顯然_bstr_t
具有隱式轉換運營商既const char *
和const wchar_t*
,這樣你就可以直接在浮動解析函數使用它們。
請注意,轉換爲char *調用[ConvertBSTRToString](http://msdn.microsoft.com/en-us/library/ewezf1f6(v = VS.100).aspx),它分配內存,因此它相對昂貴(儘管結果被緩存)。轉換到wchar_t *是便宜的,因爲無論如何BSTR基本上是一個寬字符。 –
弗蘭克:很高興知道。所以更喜歡'wcstod'版本:-) –
可以轉換爲const char*
(有此一converter,處理映射從寬字符到MBCS蓋下),然後轉換爲加倍如你所願 - stringstream::operator>>例如
呼叫wcstod或_wcstod_l如果你想控制區域。
bstr_t myBstr_t = L"1.234";
double d = wcstod(myBstr_t, NULL);
- 1. 無法將雙精度轉換爲雙精度
- 2. 將時間轉換爲雙精度
- 3. 將雙精度轉換爲QString
- 4. 如何將DBNULL轉換爲雙精度?
- 5. 將字符串轉換爲雙精度,
- 6. DirectShow - 將IGraphBuilder *轉換爲雙精度(C++)
- 7. 將雙精度轉換爲浮點數
- 8. 將文本轉換爲雙精度
- 9. 將字符串轉換爲雙精度
- 10. C#,將Npoi.ICell轉換爲雙精度型
- 11. Objective C - 如何將雙精度轉換爲長精度
- 12. Fortran:將雙精度複數轉換爲單精度
- 13. 如何將雙精度JavaScript數組轉換爲雙精度數組。
- 14. 從java BigDecimal轉換爲雙精度丟失精度爲
- 15. Matlab從圖像轉換爲雙精度
- 16. 轉換精度雙爲字符串
- 17. 將雙精度矩陣轉換爲灰度.tif圖像
- 18. C#將2D雙精度數組轉換爲灰度圖像
- 19. 如何轉換黑莓中的雙精度雙精度?
- 20. 無法將雙精度值作爲字符串轉換爲textview
- 21. 如何將BigDecimal 0E-8轉換爲特定的雙精度值
- 22. 將字符串轉換爲雙精度時GSON中NumberFormatException
- 23. 如何將對象轉換爲雙精度?
- 24. 無法將雙精度數組轉換爲數組
- 25. HSSFCell將整數轉換爲雙精度值
- 26. 如何將Python中的64位轉換爲雙精度小數?
- 27. 將字符串轉換爲雙精度錯誤
- 28. 在Fortran中將邏輯類型轉換爲雙精度
- 29. Java Puzzler - 將一個雙精度型轉換爲int
- 30. 將字符串轉換爲雙精度 - Java
什麼是'bstr_t'?發佈代碼和/或將類型解碼爲C++基元類型。 –
這是一個爲COM'BSTR'(這是一個指向寬字符的特殊的語義,基本上) –
@Kerrek SB的RAII包裝類:這是一個特定於Windows的[C++引用計數包裝(http://msdn.microsoft .com/en-us/library/zthfhkd6.aspx)用於特定於Windows的['BSTR'類型](http://msdn.microsoft.com/zh-cn/library/1b2d7d2c-47af-4389-a6b6-b01b7e915228 (VS.85)),代表「基本字符串」。它本質上是一個雙空終止的Unicode字符串,其前綴長度爲4字節。 –