如何使用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++编译器不会接受 –
我不知道是否有解析器,但为此编写解析器并不困难 –