如何检查字符串中的第一个字符是否为'-'?

问题描述 投票:0回答:1

通常,我需要检查给定的字符串是否为数字。所以我认为我的功能将检查:1.如果第一个字符为“-”,我想检查其后是否只有数字。2.如果第一个字符为0,则字符串的长度必须小于3。

问题:我无法找到一种方法来获取字符串中的第一个字符,就像我要在C中(只是看它是否等于ASCII数字一样),还是在Java中,我都将比较等于的字符串()。

c++ string text char
1个回答
0
投票

这是一个方便的实用程序功能,可基于流来解析数字:

template <class T>
bool try_parse_number(std::string_view s, T& v, const std::locale& locale)
{
    std::stringstream stream;

    stream.imbue(locale);

    stream << s;

    stream >> v;

    return !stream.fail();
}

[需要包含<sstream><string_view><locale>,尽管您可以删除语言环境处理。

您可以进一步创建自定义语言环境和数字构面,以在更大程度上控制数字解析。

© www.soinside.com 2019 - 2024. All rights reserved.