判断字符串为数字、小数
1 static int GetStringType(const char *src) 2 { 3 // is '-' or digit ? 4 if (*src == '-' || isdigit(*src)) 5 { 6 // "1" 7 if (isdigit(*src) && !*(src + 1)) 8 return 1; 9 10 ++src; // next char 11 12 // "-a" or "0a" 13 if (!isdigit(*src) && *src != '.') 14 return 0; 15 16 while (*src) 17 { 18 // "1." or "-1." 19 if (*src == '.') 20 { 21 ++src; // next char 22 23 // we need a digit, "1." not a float 24 if (!*src) 25 return 0; 26 27 while (*src) 28 { 29 // "1.a" 30 if (!isdigit(*src)) 31 return 0; 32 ++src; 33 } 34 // float value 35 return 2; 36 } 37 38 // "10a" not a integer 39 if (!isdigit(*src)) 40 return 0; 41 42 ++src; // next char 43 } 44 // integer value 45 return 1; 46 } 47 48 return 0; 49 }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步