我有一個string_to_number函數可以將字符串轉換爲double。爲什麼在這種情況下這不起作用?這個string_to_number函數有什麼問題?
#include <iostream>
#include <sstream>
#include <iomanip>
#include <string>
using namespace std;
double string_to_number(string text)
{
double value;
istringstream (text) >> value;
return value;
}
int main()
{
string text = "1234567890987654321";
double value = string_to_number(text);
cout << fixed << setprecision(0) << value << endl; // 123456789098765400 ??? What happened to "321" ?!!
return 0;
}
沒有什麼是錯的功能。 [閱讀本文](http://www.validlab.com/goldberg/paper.pdf)。 – 2014-02-06 11:24:45
你*有*寫自己的?你不能使用例如['std :: stoll'](http://en.cppreference.com/w/cpp/string/basic_string/stol)(或['std :: stold'](http://en.cppreference.com/) W/CPP /串/ basic_string的/ STOF))。 –
您是否嘗試以同樣的方式執行std :: cout << 1234567890987654321.'? – Jarod42