如何使用C++輸入像100k或30M或41.2G這樣的數字?是否有一個庫函數?或者我應該自己寫一個解析器?C++中輸入數字後綴表示法
編輯: 我想出了一個解決方案自己:
static float my_strtod(const char *str)
{
char *pEnd;
double val = strtod(str, &pEnd);
switch (*pEnd)
{
case 'k' : val *= 1.0e3; break;
case 'M' : val *= 1.0e6; break;
case 'G' : val *= 1.0e9; break;
}
return val;
} // end of my_strtod
這些例子並不能說明你的格式實際上是。但即使沒有確切地知道你想要什麼,標準庫中也沒有任何東西(儘管自2011年以來,['regex'](http://en.cppreference.com/w/cpp/regex/basic_regex)可能會有所幫助)。 – BoBTFish
不,符合標準的C++編譯器不會接受 –
我不知道是否有解析器,但爲此編寫解析器並不困難 –