gpt4 book ai didi

java - 匹配小数位数不限的数字

转载 作者:行者123 更新时间:2023-12-02 03:22:08 24 4
gpt4 key购买 nike

我想检查用户输入是否是有效的双数 (X.XXXXX)。

这是我的代码:

if(textField.getText().matches("^[0-9][.]+[0-9]$"))
{
System.out.println("This is a double");
}

如果用户输入5.5,则执行println。如果用户输入 5.55 或点后有更多数字的数字 (5.5XXX...),它将不匹配。

如何定义一个正则表达式来匹配点后的所有数字,无论有多少?

最佳答案

您的加号 + 放错地方了:

^[0-9][.]+[0-9]$

让用户输入

5......1

您需要将其移至末尾:

[0-9][.][0-9]+

anchor 标记不是必需的,因为您正在使用 matches()

请注意,此正则表达式过于简单,因为它不支持负数,强制用户输入整数.0,并且不允许使用科学记数法等。支持这些功能的正则表达式要复杂得多(有关示例,请参阅 this Q&A)。您最好使用内置的解析方法来检查输入是否有效。

关于java - 匹配小数位数不限的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39468145/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com