java.lang.NumberFormatException: multiple points特例及解决!

本文介绍了一种在处理SNMP Get请求返回值时遇到的NumberFormat异常问题,并给出了具体的解决方案。异常出现在尝试将OID和值对中的非数值部分转换为Double类型时。文章通过示例代码展示了如何正确地处理VariableBinding类型的返回值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

java.lang.NumberFormatException: multiple points


大多数情况否是网上说得那样,是因为多线程的关系,但是我遇到的情况却是特例,是在SnmpGet的返回值处理时,报的异常;


代码如下:


List集合中放的是,下面的oid = value ,是属于VariableBinding类型的;

.1.3.6.1.4.1.2021.9.1.8.1 = 16613536

.1.3.6.1.4.1.2021.9.1.6.1 = 879039388


for (int i = 0;i<list.size();i++) {
                    mylog("----list.get(i)"+list.get(i));
                    str = Double.toString(Double.parseDouble(list.get(0)) / Double.parseDouble(list.get(1)) * 100);
                }


虽然做了.toString();处理,但是“.1.3.6.1.4.1.2021.9.1.6.1 = 879039388”的字符串,是无法进行Double.parseDouble();转换的,故会报错:

java.lang.NumberFormatException: multiple points


snmp请求中可以将VariableBinding类型的数据,先转换为String类型数据,如:


VariableBinding vb1 = response.get(1);
            list.add(vb1.getVariable().toString());


然后再进行for循环遍历的时候,就不会出现 multiple points 的错误了。


  

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值