gpt4 book ai didi

java - 在 Java 中解析大 int

转载 作者:行者123 更新时间:2023-11-30 07:06:06 25 4
gpt4 key购买 nike

我有一个 JTextField 对象,用户可以在其中输入数字(或任何内容)。我正在尝试解析此文本字段中的数字,并进行验证检查以查看该数字是否在特定范围内 (1-999)。

String lowerLimit = this.lowerLimitTextField.getText().trim();
String upperLimit = this.upperLimitTextField.getText().trim();

if( Integer.parseInt(lowerLimit) < 1 || Integer.parseInt(upperLimit) > 999 )
{
return "The string must be in the range 0-999";
}

我的问题是,用户可以在文本字段中指定任何值。当我尝试输入类似“61412356123125124”的内容时,我在解析字符串时收到 NumberFormatException。处理这种情况最简单的方法是什么?我确实有检查以确保输入的字符串都是数字,所以没关系。

我已经尝试将 parseInt() 更改为 parseLong() 但我仍然遇到同样的问题,因为输入的数字基本上是无限的。这可以通过解析字符串来完成(首选),还是对 JTextField 本身设置一些约束的最简单方法?

最佳答案

使用NumberFormat解析

import java.text.NumberFormat;
import java.text.ParseException;

public class MyVisitor {


public static void main(String[] args) throws ParseException {

System.out.println(NumberFormat.getNumberInstance().parse("61412356123125124"));
}
}

输出

61412356123125124

关于java - 在 Java 中解析大 int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25936617/

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