为什么我每次String转int时都有问题,文本框显示不出想要的数值?代码如下:

qq_40723031 2017-12-14 10:33:10

//先获取TextView显示的字符串,并转换为int型。用来显示库存量。
String tv7 = TextView7.getText().toString();
int NumA = Integer.parseInt(tv7);
//获取用户输入的购买数量控件的值,并转换为int.
String num = Et.getText().toString();
int Num1 = Integer.parseInt(num);
//将TextView7的值改为原值 - 购买数量,刷新库存。
int NowA = NumA - Num1;
String s = String.valueOf(NowA);
TextView7.setText(s);

我检查了代码块,就是类型转换那里有问题,会闪退。但之前的部分代码用Integer.parseInt()函数都没问题。知道哪里有问题的大神帮帮我
...全文
250 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
开发者_android 2017-12-15
  • 打赏
  • 举报
回复
做非空判断,看你这段代码,质量有待提升呀~
陈年椰子 2017-12-15
  • 打赏
  • 举报
回复
TextView7 或者 Et 是空的。 转换前先做判断是否为空。
陈年椰子 2017-12-15
  • 打赏
  • 举报
回复
错误提示是把""转成int
haha_321 2017-12-15
  • 打赏
  • 举报
回复
引用 6 楼 qq_40723031 的回复:
[quote=引用 5 楼 haha_321 的回复:] [quote=引用 4 楼 qq_40723031 的回复:]
这么清晰日志,你都不知道问题在哪吗?[/quote]告诉我吧[/quote] invalid int “” 看看这句的意思, 无效的int “”
MadFrogs 2017-12-15
  • 打赏
  • 举报
回复
cause by后面很明显,数字格式异常,可能转换过来的值超出int的范围,考虑long Long.parseLong() 再大点试试BigInteger
qq_40723031 2017-12-15
  • 打赏
  • 举报
回复
引用 5 楼 haha_321 的回复:
[quote=引用 4 楼 qq_40723031 的回复:]
这么清晰日志,你都不知道问题在哪吗?[/quote]告诉我吧
haha_321 2017-12-15
  • 打赏
  • 举报
回复
引用 4 楼 qq_40723031 的回复:
这么清晰日志,你都不知道问题在哪吗?
qq_40723031 2017-12-15
  • 打赏
  • 举报
回复
Jing丶無雙 2017-12-15
  • 打赏
  • 举报
回复
1.贴报错日志 2.请确保你的TextView、EditText中的字符只包含数字,没有空格或是字母等不能转换为int类型的字符
qq_40723031 2017-12-15
  • 打赏
  • 举报
回复
不行的啊。。和int反应是一样的。好奇怪
Mubly 2017-12-15
  • 打赏
  • 举报
回复
你这个转换之前一定是要做非空判断的。“”是无法进行int转换的
YXTS122 2017-12-15
  • 打赏
  • 举报
回复
把int Num1改为Integer Num1呗。。。。。。。。。。

80,337

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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