C语言写一个函数,判断一个字符串是不是一个带有小数的数字
时间: 2023-02-12 11:52:22 浏览: 290
判断字符串是否为数字
4星 · 用户满意度95%
```c
#include <stdio.h>
#include <string.h>
#include <stdbool.h>
bool is_decimal_string(char* str) {
int len = strlen(str);
int dot_count = 0;
bool has_digit = false;
for (int i = 0; i < len; i++) {
char c = str[i];
if (c >= '0' && c <= '9') {
has_digit = true;
} else if (c == '.') {
dot_count++;
} else {
return false;
}
}
return has_digit && dot_count == 1;
}
```
该函数接受一个字符串作为参数,遍历字符串中的每一个字符,如果该字符是数字,则将 has_digit 标记设为 true;如果该字符是小数点,则将 dot_count 计数器加 1;如果该字符是其他字符,则返回 false。最后,如果 has_digit 标记为 true 且 dot_count 为 1,则说明该字符串是一个带有小数的数字,函数返回 true;否则返回 false。
注意:该函数不能判断负数,如果要判断负数,需要在函数中加入判断。
阅读全文