我一直得到这个错误:(错误出现在Donasi.class
这是课堂上的Donasi:
int total = 0;
for (Transaksi transaksi:donasi)
total += (Integer.parseInt(transaksi.getMinimal()))*(Integer.parseInt(transaksi.getQuantity()));
Locale locale = new Locale("in", "ID");
NumberFormat fmt = NumberFormat.getCurrencyInstance(locale);
txtTotalDonasi.setText(fmt.format(total));
这是类DonationAdapter:
int minimal = (Integer.parseInt(listData.get(position).getMinimal()))*(Integer.parseInt(listData.get(position).getQuantity()));
holder.txt_minimal.setText(fmt.format(minimal));
holder.txt_nama_donasi.setText(listData.get(position).getNamaDonasi());
这是我的日志:
12-28 14:20:36.283 2579-2579/da.glowroz.donationapp E/AndroidRuntime: FATAL EXCEPTION: main
Process: da.glowroz.donationapp, PID: 2579
java.lang.RuntimeException: Unable to start activity ComponentInfo{da.glowroz.donationapp/da.glowroz.donationapp.Donasi}: java.lang.NumberFormatException: For input string: "null"
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2646)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2707)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1460)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6077)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)
Caused by: java.lang.NumberFormatException: For input string: "null"
at java.lang.Integer.parseInt(Integer.java:521)
at java.lang.Integer.parseInt(Integer.java:556)
at da.glowroz.donationapp.Donasi.loadListDonasi(Donasi.java:134)
at da.glowroz.donationapp.Donasi.onCreate(Donasi.java:72)
at android.app.Activity.performCreate(Activity.java:6662)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2599)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2707)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1460)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6077)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)
如何解决这个问题?
在解析之前,请尝试检查getMinimum()和getQuantity()上是否为null。
if (transaksi.getMinimal() != null && transaksi.getQuantity() != null) {
total += (Integer.parseInt(transaksi.getMinimal()))*
(Integer.parseInt(transaksi.getQuantity()));
}
或
将解析代码保留在try块中,并捕获NumberFormatException。这也有助于当get最小值()或getQuantity()不为空且不是数字字符串时
try {
total += (Integer.parseInt(transaksi.getMinimal()))*
(Integer.parseInt(transaksi.getQuantity()));
}catch(NumberFormatException e){
Log.e("TAG","Excepting parsing Integer from string");
}
Caused by: java.lang.NumberFormatException: For input string: "null"
NumberFormatException
是当您尝试将字符串转换为数字时可能会引发的异常,其中该数字可能是int、浮点数或任何其他Java数字类型
您将获得空值。它不是int。添加检查
total += (Integer.parseInt(transaksi.getMinimal()))*(Integer.parseInt(transaksi.getQuantity())); // Problem coming from this end
调试
您的应用程序。在总
旁边添加BREAK-POINT。
添加try catch块
try
{
// Your work
}
catch(NumberFormatException ex)
{
System.out.println("wrong input");
}
变速箱。getMinimal()或transaksi。getQuantity()为空
因此,请在尝试解析前进行检查
也许像
if (transaksi.getMinimal() != null && transaksi.getQuantity() != null) {
total += (Integer.parseInt(transaksi.getMinimal()))*
(Integer.parseInt(transaksi.getQuantity()));
}
您好,我正在尝试将excel表数据保存到MySQL数据库中。为此,我使用Apache Poi。我在Apache Poi中使用DataForcat获取单元格值。我成功地将单元格值作为字符串格式获取,但我试图将字符串值更改为Long我正在获取NumberFormatException。我正在尝试下面的代码。请尝试解决我的问题。 非常感谢。 这是控制台中的错误堆栈跟踪。
这是我的错误行, 最终int plChildren=整数。parseInt(绘图仪子项); 那么为什么会出现这样的错误呢?
我正在用android Studio开发扫描android应用程序的蓝牙设备。有一个输入字段,当输入名称与扫描名称匹配时,我想将数据发送到firebase。下面我已经提到了我在做什么 } 当我运行应用程序时,应用程序已停止,出现如下错误 我能做些什么来避免NumberFormatException
错误:java。lang.NumberFormatException 文件错误:activity_main_user.xml 相关元素:一个EditText(PlayerMoneyToUpdate)字段和TextView(PlayerMoneyValue) 项目结构: 有两项活动: 主要活动。java是应用程序的主要UI,包含一个显示所有用户(即游戏玩家)的布局 MainUserActivity.
当我在Jsp程序中使用属性自定义标记时,出现了一些错误: Servlet。路径为[/Tag]的上下文中servlet[jsp]的service()引发了具有根本原因java的异常[无法编译jsp类]。lang.NumberFormatException:用于输入字符串:“标记” 细节如下: 标签jsp tag.tld 日期标签。JAVA
运行代码时,我收到一个数字格式异常: 如何防止此异常发生?