美文网首页
表示数值的字符串

表示数值的字符串

作者: 小码弟 | 来源:发表于2018-11-07 09:16 被阅读0次

实现一个函数判断字符串是否表示数值(包括整数和小数),如'+100', '5e2', '-1E-16'等
但'12e', '1a3.12', '+-9'都不是

整个扫描过程分为三部分

  1. 扫描整数部分
  2. 扫描小数部分(如果有)
    3)扫描E|e 后面的部分(如果有)
bool scanUnsigned(const char** str)
{
    const char* before = *str;
    while(**str != '\0' && **str='0' && **str <= '9')
        ++(*str);
    return *str>before;
  }

bool scanInteger(const char** str)
 {
    if(**str == '+' || **str == '-')
      ++(*str);
    return scanUnsigned(str);
  }
bool isNumeric(const char* str)
{
  if(str == NULL)
    return false;
  bool numeric = scanInteger(&str);
  if(*str == '.')
    {
        ++str;
        //小数部分没有符号
        // 用 || 的原因:小数前后可以有或没有数字,如3.,.3
        numeric = scanUnsigned(&str) || numeric;
        
    }
    if(*str == 'e' || *str == 'E')
      {
        ++str;
        // e前面可能有符号
        // 用 && 的原因:e前后必须都有数字,否则e3, 3e都不是数值
        numeric = numeric && scanInteger(&str);
      }
  return numeric&&*str == '\0';
}

相关文章

  • JZ-053-表示数值的字符串

    表示数值的字符串 题目描述 请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100",...

  • LeetCode 每日一题 [52] 表示数值的字符串

    LeetCode 表示数值的字符串 [中等] 请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字...

  • 算法实现

    题1:表示数值的字符串请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100","5e...

  • Java小技巧

    1. 数值转字符串 使用空字符串连接数值会变成字符串 2. 数值太长友好表示 使用_分割数值,值不变 3.随机字符...

  • 《剑指 Offer (第 2 版)》第 20 题:表示数值的字符

    第 20 题:表示数值的字符串 传送门: 表示数值的字符串,牛客网 online judge 地址。 请实现一个函...

  • 实现一个函数判断字符串是否表示数值(包括整数和小数)

    实现一个函数判断字符串是否表示数值(包括整数和小数),例如,字符串'+100','5e2','-123'都表示数值...

  • 面试题20:表示数值的字符串

    题目:请实现一个函数用于判断字符串是否表示数值(包括整数和小数)。例如,字符串”+100“、”5e2“都表示数值,...

  • 表示数值的字符串

    题目描述请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100","5e2","-12...

  • 表示数值的字符串

    题目描述请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100","5e2","-12...

  • 表示数值的字符串

    题目描述   请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100","5e2","...

网友评论

      本文标题:表示数值的字符串

      本文链接:https://www.haomeiwen.com/subject/gempxqtx.html