编程怎么看有没有小数点

时间:2025-01-28 22:39:36 网络游戏

在编程中,判断一个数是否含有小数点可以通过以下几种方法:

方法一:使用正则表达式

正则表达式是一种强大的文本处理工具,可以用来匹配字符串中的特定模式。对于判断小数点,可以使用正则表达式 `/[\.]/` 来检查字符串中是否包含小数点。

```javascript

function hasDecimalPoint(num) {

const rep = /[\.]/;

return rep.test(num);

}

console.log(hasDecimalPoint(12.123)); // true

console.log(hasDecimalPoint(121)); // false

```

方法二:将数字转换为数组

将数字转换为数组,然后使用 `indexOf()` 方法检查数组中是否有小数点。

```javascript

function isDot(num) {

const result = (num.toString()).indexOf(".");

return result !== -1;

}

console.log(isDot(121.121)); // true

console.log(isDot(454654)); // false

```

方法三:使用 `isNaN()` 函数

`isNaN()` 函数可以检查一个值是否为 NaN(Not a Number),通过将数字转换为字符串并检查是否包含小数点,可以实现判断。

```javascript

function hasDecimalPoint(num) {

return !isNaN(num) && (num.toString().indexOf(".") !== -1);

}

console.log(hasDecimalPoint(12.123)); // true

console.log(hasDecimalPoint(121)); // false

```

方法四:字符串方法

对于字符串类型的数字,可以使用 `contains()` 方法来判断是否包含小数点。

```javascript

function hasDecimalPoint(str) {

return str.contains(".");

}

console.log(hasDecimalPoint("123.45")); // true

console.log(hasDecimalPoint("abc")); // false

```

方法五:C语言中的判断

在 C 语言中,可以通过将浮点数转换为字符串,然后逐字符判断是否包含小数点来实现。

```c

include

include

int main() {

char s;

scanf("%s", s);

int flag = 0, wei = 0;

for (int i = 0; i < strlen(s); i++) {

if (s[i] == '.') {

flag = 1;

} else if (flag == 1) {

wei++;

}

}

printf("%d\n", wei);

return 0;

}

```

总结

以上方法各有优缺点,选择哪种方法取决于具体的应用场景和编程语言。正则表达式和字符串方法在处理字符串类型的数字时非常方便,而将数字转换为数组和使用 `indexOf()` 方法在处理数字类型时更为直接。`isNaN()` 函数则可以在需要判断数值类型时提供额外的灵活性。