标签: parseint

Grails / Groovy:URL参数(最大值,偏移量)空白/字符串时引发NumberFormatException

在控制器中

 params.max = Math.min(params?.max?.toInteger() ?: 10, 20)
 params.offset = params?.offset?.toInteger() ?: 0
Run Code Online (Sandbox Code Playgroud)

如果您输入以下网址

/books?offset=10&max=              //error
/books?offset=10&max=sdf          //error
/books?offset=&max=10            //works
/books?offset=adsfa&max=10      //error


java.lang.NumberFormatException: For input string: "asdf"

        at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)

        at java.lang.Integer.parseInt(Integer.java:449)

        at java.lang.Integer.valueOf(Integer.java:554)
Run Code Online (Sandbox Code Playgroud)

是否有一行常规答案来检查url参数中的null / string字符?

url grails groovy params parseint

1
推荐指数
1
解决办法
2934
查看次数

JavaScript parseInt IE Nan错误

我有JavaScript的功能:

function calc(num) {
    if (num <= 22) {
            return parseInt(num);
    } else {
            num += '';
            var curr = 0;
            for (var i = 0; i < num['length']; i++) {
                    curr += parseInt(num[i]);
            };
            return curr;
    };
};
Run Code Online (Sandbox Code Playgroud)

此函数计算新数字,如:如果我的数字大于22,则此函数返回新数字,它是其子数的总和(例如28> 22 => return(2 + 8)).

此功能在Firefox的伟大工程,但我发现了"南"错误在Internet Explorer与数字比22越大所以这个问题必须在"其他".

怎么了?

javascript internet-explorer parseint

1
推荐指数
1
解决办法
4631
查看次数

使用EditText中的简单数字输入的Android NumberFormatException错误

所以我有一个带数字输入的简单编辑文本.用户输入他的电话号码,它显然是保存到DB中的目标.现在我每次都这样做

int contactNumber=Integer.parseInt(mContactNumber.getText().toString());
Run Code Online (Sandbox Code Playgroud)

我得到一个错误,因为某些原因它不喜欢数字字符串而引发NumberFormatException.我确保android输入字段中的mContactNumber字段具有

android:input="number"
Run Code Online (Sandbox Code Playgroud)

现在我也试着确定一下

int contactNumber=Integer.parseInt(mContactNumber.getText().toString().trim());
Run Code Online (Sandbox Code Playgroud)

仍然是同样的错误

伙计们有什么想法?

android integer parseint android-edittext

1
推荐指数
1
解决办法
2495
查看次数

如何从jTextField中检索信息

我正在做个人项目.我正在创建一个打卡时钟程序,所以我需要帮助的部分是用户在jTextField中输入uid的地方.因此,我需要检索uid(#######),然后使用sql语句在数据库中搜索该uid.所以这就是我到目前为止所拥有的.问题是jTextField1.getText下面有一个红线,当我运行它时,表示=

"setInt(int,int) in java.sql.PreparedStatement cannot be applied to (int,java.lang.String) pstmt.setInt(1, jTextField1.getText());"

任何帮助表示赞赏.谢谢.

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
    // TODO add your handling code here:
    try{
        stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
        String sql = "SELECT * FROM Students WHERE STUDENTID = ?";
        PreparedStatement pstmt = con.prepareStatement(sql);
        pstmt.setInt(1, jTextField1.getText()); // Retrieve uid from jTextField
        ResultSet rs = pstmt.executeQuery();
        while(rs.next()){
            String first = rs.getString(2);
            String last = rs.getString(3);
            String hours = rs.getString(6);

            fName.setText(first);
            lName.setText(last);
            tHours.setText(hours);
        }
    }
    catch(SQLException err){
        JOptionPane.showMessageDialog(Student.this, err.getMessage());
    }

}
Run Code Online (Sandbox Code Playgroud)

java sql swing jtextfield parseint

1
推荐指数
2
解决办法
1018
查看次数

为什么我需要parseInt()来避免NaN?

我有一个带有2个值的2D数组,我想用一条小信息打印差异.

var array = [[0,2],[3,4]];
console.log(array[0][1]-array[0][0]) //prints '2'
console.log(array[0][1]-array[0][0] + ' is the number') //prints '2 is the number'
console.log('The number is' + array[0][1]-array[0][0]) //prints 'NaN'
console.log('The number is ' + parseInt(array[0][1]-array[0][0], 10)) //prints 'The number is 2'
Run Code Online (Sandbox Code Playgroud)

为什么我需要在结果之前parseInt()打印一条消息,但是在结果之后打印文本,或者仅仅是结果打印,是否可以?

javascript parseint

1
推荐指数
1
解决办法
570
查看次数

在数组中搜索空槽

我正在尝试搜索数组中的第一个空槽.你parseInt()可以引用这个,或者我会用" stobar[b] == null"吗?

int[] stobar = new int[100];
for(int b = 0; b < stobar.length; b++)
{
    if(stobar[b] == Integer.parseInt(""))
    {
        stobar[b] = row;
        stobar[b+1] = col;
        break;
    }
}
Run Code Online (Sandbox Code Playgroud)

java arrays parseint

1
推荐指数
1
解决办法
346
查看次数

减去“ 0”可将String手动转换为int

嗨,我有这段代码可以手动将String转换为int。

int num = 0;
for(int i = 0; i < length(number); i++) {
    num *= 10;
    num += number.charAt(i) - '0';
    println("i :" + num);
}
Run Code Online (Sandbox Code Playgroud)

为什么我们在末尾减去“ 0”?

java parseint

1
推荐指数
1
解决办法
1684
查看次数

将字符串从字符串数组转换为整数

我正在尝试使用parseInt()将一些字符串从数组转换为整数.我正在阅读许多单独的文件中的行,如下所示:

car,house,548544587,645871266
Run Code Online (Sandbox Code Playgroud)

我有类似下面的代码:

String [] tokens = line.split(",");
try {
        line = line.trim();
        int a = Integer.parseInt(tokens[2]);
        int b = Integer.parseInt(tokens[3]);
        int c = (b - a);
        System.out.println(c);
        } catch (NumberFormatException e) {
                    System.out.println(e);
            }
Run Code Online (Sandbox Code Playgroud)

但是对于我读到的每一行,这都会失败并出现这样的错误:

java.lang.NumberFormatException: For input string: "548544587"
java.lang.NumberFormatException: For input string: "645871266"
Run Code Online (Sandbox Code Playgroud)

知道我可能会缺少什么吗?

java arrays string token parseint

1
推荐指数
1
解决办法
652
查看次数

'parseInt(String,radix)'如何工作?

我知道该parseInt方法用于将字符串转换为int,但我不知道如何.我明白,如果你说:

System.out.println(Integer.parseInt("52", 10));
Run Code Online (Sandbox Code Playgroud)

会给你52基数10.我不知道的是,如果你说用10替换基数10,它是如何精确计算的.从一些研究中,我发现有人说你必须使用ASCII值.如果它有帮助,我试图能够单独在纸上解决这个问题,而无需更多代码的工作.

java parseint

1
推荐指数
2
解决办法
4429
查看次数

为什么堆栈跟踪包含对 parseInt() 方法的重复调用?

我用 JDK 11.0 编译了以下代码:

import java.util.Scanner;
public class inputWithScanner {
    public static void main(String[] args) {
    Scanner input = new Scanner(System.in);
    System.out.println("Enter your name and roll number");
    String name = input.next();
    Integer rollNumber = Integer.parseInt(input.next());
    input.close();
    if (name.isEmpty())
        System.out.println("oops! You didnt enter your name");
    if (rollNumber < 0)
        System.out.println("Enter a valid roll number");
    System.out.println("Hello "+name+" Roll Number   "+rollNumber);
Run Code Online (Sandbox Code Playgroud)

并使用以下输入测试程序(rollNumber 变量的混合输入是有意的):

Enter your name and roll number
Manraj 2018CSE1023
Run Code Online (Sandbox Code Playgroud)

编译器引发异常:NumberFormatException 堆栈跟踪如下:

        at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
        at java.base/java.lang.Integer.parseInt(Integer.java:652)
        at java.base/java.lang.Integer.parseInt(Integer.java:770)
        at inputWithScanner.main(inputWithScanner.java:7)
Run Code Online (Sandbox Code Playgroud)

问题是:为什么会重复调用 parseInt() …

java string integer exception parseint

1
推荐指数
1
解决办法
65
查看次数