C++判断输入是否为double

C++判断输入是否为double

之前写过了Python如何判断输入字符串是否为数字,但是Python是弱类型语言,相比之下C++这种强类型语言判定难度更大。

Python判断输入字符串是否为数字的方法

例如,我要把不断输入的字符串中数字都转为double类型,别的都保存为字符串。那么我接收输入的数据类型只能为string

C++和Python一样提供了isdigit()的方法,但是isdigit()只能判断一个字符,且只能一位一位判断,也就是说只能判断一个字符是不是0~9之间的整型数。连负数都无法判断。

好在C++11在string类中,提供了stoi, stod, stof, stol, stoll等函数分别是把字符串转化为int, double, float, long, long long型。

那么,思路就和Python中一样了,利用异常捕捉。

bool isdouble(string x) {
    double y;
    try{
        y = stod(x);
    }
    catch (const std::exception&){
        return false;
    }
    return true;
}

同理,原理是stod()这个函数,无法将非数字的变量转换为double。

原文链接: https://www.cnblogs.com/scyq/p/12535345.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    C++判断输入是否为double

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/336432

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年3月1日 下午10:38
下一篇 2023年3月1日 下午10:38

相关推荐