当前位置: 首页 > 知识库问答 >
问题:

用于检查字符串是否为有效数字的逻辑[duplicate]

卞昀
2023-03-14

我正在使用folowing逻辑来检查接收到的字符串是否为有效数字

package com;


public class Test {
    public static void main(String args[]) {
        String str = "122";
        boolean b = isNumb(str);
        System.out.println(b);
    }

    public static boolean isNumb(String str) {
        String s = str;
        for (int i = 0; i < s.length(); i++) {
            if (!Character.isDigit(s.charAt(i)))
                return false;
        }
        return true;
    }

}

我将在一个高度多线程的环境中使用它,在这个环境中一次可以有800-900个并发用户,请让我知道,如果这个代码有任何循环漏洞或没有?

请分享您的观点

提前致谢

共有2个答案

锺离烈
2023-03-14

用于验证给定字符串是否为有效数字(而不仅仅是整数):

boolean b = str.matches("^[+-]?(?=.)\\d*(\\.\\d+)?$");
汲利
2023-03-14

我将使用正则表达式:

public static boolean isNumb(String str) {
    return str.matches("\\d+");
}

若要对负数也返回true,请添加一个可选的前导破折号:

return str.matches("-?\\d+");
 类似资料:
  • 我在使用Jsoup解析器时遇到困难。如何判断给定的字符串是否是有效的HTML代码? isValid标记为true,因为JSoup首先使用HtmlTreeBuilder:如果仅有html、head或body标记丢失,它会自行添加它们。然后它使用Cleaner类,并根据给定的白名单进行检查。 有没有简单的方法可以检查字符串是否是有效的HTML,而不需要Jsoup尝试将其变成HTML? 我的例子是AJA

  • 更新: 这是否意味着,如果我想检查一个特定的字符串是否是有效的日期时间,我需要一个巨大的格式数组??会有不同的组合,我相信。 即使有很多日期分隔符('.'、'/'、'-'等)根据区域性的不同,我很难定义要检查的格式数组。 基本上,我想检查一个特定的字符串是否至少包含日(1到31或01到31)、月(1到12或01到12)和年(yyyy或yy),以任何顺序,使用任何日期分隔符,解决方案是什么? 所以,

  • 如何检查给定的字符串是laravel中的有效时间戳。我想为它定义一个验证。输入字符串本身是一个时间戳,没有任何格式。例如"56123231"

  • 问题内容: Golang文件路径模块(https://golang.org/pkg/path/filepath/)包含一些用于处理路径的函数,可用于检查文件是否存在。有没有一种方法可以检查字符串是否真的构成了有效路径(无论该路径处是否有文件)? 问题答案: 这个问题听起来很简单,但实际上并非如此。这是我发现的两个可能的解决方案: 这里的想法是根据规则检查给定的文件路径。 问题 作业系统(UNIX

  • 问题内容: 我有一个isNotEmpty函数,如果字符串不为空,则返回true;如果字符串为空,则返回false。我发现如果我通过它传递一个空字符串,它将无法正常工作。 使用isNotEmpty验证字符串: 如果该字符串为空,则其他字符串将不会执行,我不明白为什么,请有人对此有所帮助。 问题答案: 实际上是简单的问题。更改: 至 可以说,您可能还想将其更改为: 因为如果您传递的是数字0以及其他一些

  • 问题内容: 我希望与旧的VB6 函数在同一概念空间中存在某些东西吗? 问题答案: 要检查变量(包括字符串)是否为数字,请检查其是否不是数字: 无论变量内容是字符串还是数字,这都有效。 例子 当然,您可以根据需要对此进行否定。例如,要实现您给出的示例: 要将包含数字的字符串转换为数字: 仅当字符串 仅 包含数字字符时才有效,否则返回。 例子 将字符串宽松地转换为数字 有助于将“ 12px”转换为12