字符转换

javahuazai 2009-12-30 10:02:56
String s = "yangyouhua";
int i = Integer.parseInt(s);
System.out.println(i);

以上转化会报错如下:
Exception in thread "main" java.lang.NumberFormatException: For input string: "yangyouhua"


如果改为:
String s = "3"; //此处给出的四一个整型的数的字符。
int i = Integer.parseInt(s);
System.out.println(i);

以上代码考验正常运行。


本人才学Java,希望高手多多指教,帮助我解惑,在下感激不尽!

...全文
213 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
javahuazai 2009-12-31
  • 打赏
  • 举报
回复
非常感谢各位的帮助,我已经明白了。
huangdh12 2009-12-30
  • 打赏
  • 举报
回复
数字才可以转。。
liuyi1985_2008 2009-12-30
  • 打赏
  • 举报
回复
API
py330316117 2009-12-30
  • 打赏
  • 举报
回复
只有数字类型的字符串才能这么转换
SambaGao 2009-12-30
  • 打赏
  • 举报
回复
/**
* 字符转换
*/
public String chanA(String str1)
{
String str = "";
try
{
str = new String(str1.getBytes("GB2312"), "ISO-8859-1");
} catch (Exception e)
{
e.printStackTrace();
}
return str;
}

/**
* 字符转换
*/
public String chanB(String str1)
{
String str = "";
try
{
str = new String(str1.getBytes("UTF-8"), "GB2312");
} catch (Exception e)
{
e.printStackTrace();
}
return str;
}
ttmiss_404555163 2009-12-30
  • 打赏
  • 举报
回复
可以用循环来获取s的每一个字符,然后通过数组一一进行返回成int型
真哥哥 2009-12-30
  • 打赏
  • 举报
回复
那样肯定出异常,api对初学者来说是个好东西啊
dong502 2009-12-30
  • 打赏
  • 举报
回复
NumberFormatException 是类型转换错误,正如雌不能转为雄一样。。。。字符串不能转换为数字。
godismydaughter 2009-12-30
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 ymdcr 的回复:]
引用 1 楼 xiesisi3 的回复:
public static int parseInt(String s)
                    throws NumberFormatException将字符串参数作为有符号的十进制整数进行解析。除了第一个字符可以是用来表示负值的 ASCII 减号 '-' ('\u002D') 外,字符串中的字符都必须是十进制数字。返回得到的整数值,就好像将该参数和基数 10 作为参数赋予 parseInt(java.lang.String, int) 方法一样。

参数:
s - 包含要解析的 int 表示形式的 String。
返回:
用十进制参数表示的整数值。
抛出:
NumberFormatException - 如果字符串不包含可解析的整数。


看了API你还不明白吗?



一切尽在api,作死的翻。
[/Quote]要学会查阅API。。
牛叔 2009-12-30
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 xiesisi3 的回复:]
public static int parseInt(String s)
                    throws NumberFormatException将字符串参数作为有符号的十进制整数进行解析。除了第一个字符可以是用来表示负值的 ASCII 减号 '-' ('\u002D') 外,字符串中的字符都必须是十进制数字。返回得到的整数值,就好像将该参数和基数 10 作为参数赋予 parseInt(java.lang.String, int) 方法一样。

参数:
s - 包含要解析的 int 表示形式的 String。
返回:
用十进制参数表示的整数值。
抛出:
NumberFormatException - 如果字符串不包含可解析的整数。


看了API你还不明白吗?

[/Quote]

一切尽在api,作死的翻。
panpanguo 2009-12-30
  • 打赏
  • 举报
回复
一句话 ,不是什么都可以 转为 数字的 看看异常就知道了
ava.lang.NumberFormatException
hzq237 2009-12-30
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 amdgaming 的回复:]
一句话 ,不是什么都可以 转为 数字的 看看异常就知道了 
ava.lang.NumberFormatException
[/Quote]
amdgaming 2009-12-30
  • 打赏
  • 举报
回复
一句话 ,不是什么都可以 转为 数字的 看看异常就知道了
ava.lang.NumberFormatException
墨水鱼 2009-12-30
  • 打赏
  • 举报
回复
"yangyouhua"不是数字,转不了整数
xiesisi3 2009-12-30
  • 打赏
  • 举报
回复
public static int parseInt(String s)
throws NumberFormatException将字符串参数作为有符号的十进制整数进行解析。除了第一个字符可以是用来表示负值的 ASCII 减号 '-' ('\u002D') 外,字符串中的字符都必须是十进制数字。返回得到的整数值,就好像将该参数和基数 10 作为参数赋予 parseInt(java.lang.String, int) 方法一样。

参数:
s - 包含要解析的 int 表示形式的 String。
返回:
用十进制参数表示的整数值。
抛出:
NumberFormatException - 如果字符串不包含可解析的整数。


看了API你还不明白吗?
Nature_2009 2009-12-30
  • 打赏
  • 举报
回复
你应该仔细看看API。


parseInt
public static int parseInt(String s,
int radix)
throws NumberFormatException使用第二个参数指定的基数,将字符串参数解析为有符号的整数。除了第一个字符可以是用来表示负值的 ASCII 减号 '-' ('\u002D’)外,字符串中的字符必须都是指定基数的数字(通过 Character.digit(char, int) 是否返回一个负值确定)。返回得到的整数值。
如果发生以下任意一种情况,则抛出一个 NumberFormatException 类型的异常:

第一个参数为 null 或一个长度为零的字符串。
基数小于 Character.MIN_RADIX 或者大于 Character.MAX_RADIX。
假如字符串的长度超过 1,那么除了第一个字符可以是减号 '-' ('u002D’) 外,字符串中的任何字符都不是指定基数的数字。
字符串表示的值不是 int 类型的值。
示例:

parseInt("0", 10) 返回 0
parseInt("473", 10) 返回 473
parseInt("-0", 10) 返回 0
parseInt("-FF", 16) 返回 -255
parseInt("1100110", 2) 返回 102
parseInt("2147483647", 10) 返回 2147483647
parseInt("-2147483648", 10) 返回 -2147483648
parseInt("2147483648", 10) 抛出 NumberFormatException
parseInt("99", 8) 抛出 NumberFormatException
parseInt("Kona", 10) 抛出 NumberFormatException
parseInt("Kona", 27) 返回 411787

参数:
s - 包含要分析的整数表示形式的 String
radix - 分析 s 时使用的基数。
返回:
使用指定基数的字符串参数表示的整数。
抛出:
NumberFormatException - 如果 String 不包含可分析的 int。

--------------------------------------------------------------------------------

parseInt
public static int parseInt(String s)
throws NumberFormatException将字符串参数作为有符号的十进制整数进行分析。除了第一个字符可以是用来表示负值的 ASCII 减号 '-' ('\u002D') 外,字符串中的字符都必须是十进制数字。返回得到的整数值,就好像将该参数和基数 10 作为参数赋予 parseInt(java.lang.String, int) 方法一样。

参数:
s - 包含要分析的 int 表示形式的 String。
返回:
用十进制参数表示的整数值。
抛出:
NumberFormatException - 如果字符串不包含可分析的整数。

苍蝇①号 2009-12-30
  • 打赏
  • 举报
回复
常看看API
cyuan09 2009-12-30
  • 打赏
  • 举报
回复
常看看API

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧