c++ - 使用后缀表示法在 C++ 中输入数字

标签 c++ input numbers postfix-notation

<分区>

如何使用 C++ 输入 100k 或 30M 或 41.2G 等数字?有那个库函数吗?还是我应该自己写一个解析器?

编辑: 我自己想出了一个解决方案:

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

最佳答案

你想使用 C++11 的 operator"",像这样:

constexpr long operator"" k(long d) {
     return d * 1000;
}

然后你可以创建如下常量:

long distance = 100k;

关于c++ - 使用后缀表示法在 C++ 中输入数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19000098/

相关文章:

javascript - 需要从启用多选的 html 文件输入中删除特定文件

javascript - 如何通过 AJAX 发送单选按钮值?

mysql - 显示 MYSQL 行号或位置以及分页开始和限制

Javascript 检查数字值是否为零(而不是 null)或更高但不是负数

Android - 如何为随机数设置动画?

c++ - 如何编写自定义断言?

c++ - 如何检查 C++ API 的性能

javascript - 将输入更改为图像并使其可点击

c++ - Sum 帮助程序无法上课

c++ - 将 google test 链接到您的主项目