Texfield在java中包含整数,字符串或双精度值

问题描述 投票:-4回答:2

如何检查TextField中输入值的数据类型?我在Stack Overflow上找到了与此查询相关的其他问题,但这些问题与其他语言有关,如:C#,Swift等。

我不想将String的值解析为整数,反之亦然。我想识别jTextField1包含的值的数据类型。

通常在java中,jTextField1.getText();返回Java中的String值。我想要的是:

  • 如果jTextField1包含Hello World,那么answer应为String
  • 如果jTextField1包含123则则answer应为整数
  • 如果jTextField1包含354.55,则答案应为Double

有没有办法做到这一点?

java swing textfield
2个回答
0
投票
public static void main(String...strings){
    for (String string : strings) {
        try{
            System.out.println(Integer.parseInt("hello"));
            System.out.println(Integer.parseInt("345"));
            //similarly can be done for other types
            }catch(NumberFormatException exception){
                System.out.println(exception);
            }
    }

你必须处理numberFormatException


0
投票

常规 - 字段的数据类型始终为String ....

Integer.parseDouble.parse将是这里最有用的工具,但如果您不想使用它,您可以单独检查每个字符,如果它的数字Character.isDigit

如果不是:字符串

如果所有都没有分隔符 - > int

否则 - >双

但正如所说 - 我会使用现有的api方法 - 因为最后,解析是解析

© www.soinside.com 2019 - 2024. All rights reserved.