k12*_*234 11 java string integer
我正在尝试将String变量转换为整数,只有String看起来像这样(例如):
String string = " 12";
Run Code Online (Sandbox Code Playgroud)
因此String在它前面有一个空格.现在正在从.txt文件中读取String变量,这就是为什么我遇到了在它前面有空间的问题.我需要将变量转换为int,但是当我尝试时:
int integer = Integer.parseInt(string);
Run Code Online (Sandbox Code Playgroud)
要将String传递给一个整数,它会编译,但是在尝试运行程序时会出错,因为作为String的一部分有空格.
有没有办法将带有前面空格的数字串传递给int?.trim会工作吗?如果是这样,我将如何使用它?(我对.trim不是很熟悉,我还在学习!!)我很感激你的帮助!^ _ ^
Mas*_*dul 13
.trim会工作吗?如果是这样,我将如何使用它?
是的, trim()将起作用,它将删除前导和尾随空格String,
int integer = Integer.parseInt(string.trim());
Run Code Online (Sandbox Code Playgroud)
使用Java中的字符串修剪函数首先获取没有空格的字符串,然后解析它...
1.)删除带修剪的空格 ... String#trim
String stringWithoutSpace = string.trim();
Run Code Online (Sandbox Code Playgroud)
2.)解析不带空格的字符串 ... 整数#parseInt
int integer = Integer.parseInt(stringWithoutSpace);
Run Code Online (Sandbox Code Playgroud)
3.)一步完成上述所有事情 ......
int integer = Integer.parseInt(string.trim());
Run Code Online (Sandbox Code Playgroud)
小智 6
如果您有一个由空格分隔的多个数字的字符串,则字符串split()方法可以正常工作.
String numbers = "1 23 456";
String[] numbersArray = numbers.split(" "); // splitting string by spaces
System.out.println(numbersArray.toString());
// output ["1","23","456"]
Run Code Online (Sandbox Code Playgroud)
然后,您可以在数组的每个索引上使用Integer.parseInt().希望有所帮助