如何将包含负数的字符串解析为整数?

3

以下是我的代码部分!

bufferedReader=new BufferedReader (inputstreamreader);
message=bufferedReader.readLine ();// ex: message has (1,-3)
String[] msg=message.split (",") //I use comma (,) as deliminator
int x=Integer.parseInt (msg [0]);
int y=Integer.parseInt (msg [1]);

这段代码可以进行解析,但问题在于它会丢失负号。也就是说,“message”包含(1,-3)。请帮我解析时不要丢失负号。


你的代码似乎没问题。在分割文本之前,打印出收到的内容,可能发送端有问题。 - H4SN
是的...问题出在套接字客户端那边!! - Suroor Ahmmad
2个回答

6
String message = "1,-3";
String[] msg = message.split(",");
int x = Integer.parseInt(msg[0]);
int y = Integer.parseInt(msg[1]);

System.out.println(x);
System.out.println(y);

没有问题,输出如下:

1

-3


这段代码可以正常运行。

谢谢...首先我遇到了NumberFormatException。现在我已经纠正了它。 - Suroor Ahmmad
@SuroorAhmmad 我认为你首先得到了 double number。这就是你得到 NumberFormatException 的原因。 - Bek

0

ParseInt 应该可以工作,但是你没有得到结果,因为 String[] msg = message.split(","); 会导致两个字符串带有“(1”和“-10)”的括号,请尝试去掉括号。


谢谢兄弟!实际上问题是浮点数。现在我已经纠正了它。 - Suroor Ahmmad

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接