String str = "zzz_15922784484_1285462612919_1269306315876" 这是我接口接收到的数据。程序
if (str != null && str.startsWith("zzz_")){
String sub[] = str.split("_");
String strId = sub[2];
long longDecideSmsId = java.lang.Long.parseLong(strId)//为什么这里是乱码呢?
}这是我记录的异常:java.lang.NumberFormatException: For input string: "∞"//为什么数组里的第二个元素成∞了呢。在线等,急。。
if (str != null && str.startsWith("zzz_")){
String sub[] = str.split("_");
String strId = sub[2];
long longDecideSmsId = java.lang.Long.parseLong(strId)//为什么这里是乱码呢?
}这是我记录的异常:java.lang.NumberFormatException: For input string: "∞"//为什么数组里的第二个元素成∞了呢。在线等,急。。
解决方案 »
- 哪位大神有本地html格式的J2SE 1.6中文版api(不要chm的)???
- 如何进阶··求教··
- 关于web service的一个问题
- 关于获取下载文件名的问题
- JButton怎么设置大小宽度呢
- 导出oracle出错java.lang.OutOfMemoryError: Java heap space
- 帮我解释个名词,谢谢了!必给分!
- 学习资料(免费)
- 为什么密码区域取不到密码?
- executeQuery("select password from userlist where adminname="+adminname+"")写法对吗?
- java.io.file的相对路径问题
- 关于图片上传的一个java API问题
long最大为:9223372036854775807
我的ID最多17位
java.lang.NumberFormatException: For input string: "∞"我不明白的是我接收到的字符串是:zzz_15922784484_1285462612919_1269306315876
程序把第二个元素认为是"∞"了。
这是JDK对这个异常的解释。
当应用程序试图将字符串转换成一种数值类型,但该字符串不能转换为适当格式时,抛出该异常。如果第二个元素存在空格或者其它不合法的信息。哪么也不应该显示出这个啊!"∞"
记录日期原因:出现异常:java.lang.NumberFormatException: For input string: "∞"
记录日期sql:zzz_15213080390_1285481391900_1273540870409
记录日期时间:2010-09-26 17:15:03.783
记录接口名字:XXXXX
这是服务器日志记录问题
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub String str = "zzz_15922784484_1285462612919_1269306315876" ;//这是我接口接收到的数据。
if (str != null && str.startsWith("zzz_")){
String sub[] = str.split("_");
String strId = sub[2];
for(int i=0;i<=3;i++){
System.out.println(sub[i]);
}
long longDecideSmsId = java.lang.Long.parseLong(strId);//为什么这里是乱码呢?
}
}}运行结果
zzz
15922784484
1285462612919
1269306315876只希望给分
public class Error { /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub String str = "zzz_15922784484_1285462612919_1269306315876" ;//这是我接口接收到的数据。
if (str != null && str.startsWith("zzz_")){
String sub[] = str.split("_");
String strId = sub[2];
for(int i=0;i<=3;i++){
System.out.println(sub[i]);
}
long longDecideSmsId = java.lang.Long.parseLong(strId);//为什么这里是乱码呢?
System.out.println(longDecideSmsId);// 再打印
}
}}结果 zzz
15922784484
1285462612919
1269306315876
1285462612919
int stloReceivedSms = 0;
int stloSendedSms = 0;
int result = -1;
String content = request.getString("content");//返回内容
String remotePhone = request.getString("remotePhone");
try{
if (content != null && content.startsWith("zzz_")) {
String subCount[] = content.split("_");
String strDecideSmsId = subCount[2].trim();// 批次 //出问题的地方
long longDecideSmsId = java.lang.Long.parseLong(strDecideSmsId);// 通过测试短信返回的内容里得到的短信批次.
log.error("content:" + content + ",strDecideSmsId:"+ strDecideSmsId + ",longDecideSmsId:"+ longDecideSmsId);
if (longDecideSmsId > 0) {
String sql = "select a from test1 where b = " + longDecideSmsId;
String sql1 = "select b from test2 where a = " + longDecideSmsId;
stloReceivedSms = this.getStloReceivedSms(db, sql1);//这里的异常在getStloReceivedSms()方法里处理的。不会抛出来
stloSendedSms = this.getStloReceivedSms(db, sql);
int stloReSms = stloReceivedSms + 1;
//这里只是算一个数字,应该不出异常,因为传过去的参数也是合法的。。
double arrival = this.arrival(longDecideSmsId, java.lang.Double.parseDouble("" + stloSendedSms), java.lang.Double.parseDouble("" + stloReSms));
if (stloSendedSms > stloReceivedSms) {
String updateCimSQL = "update test3 set aaa = stloReceivedSms + 1 , bbb = ddd + ' "
+ remotePhone + "' where ccc = ?";// 统计测试短信SQL
String arrivalSql = "update test4 set aaa = ? where bbb = ?";
try{
int upSTnum = db.executeUpdate(updateCimSQL,new Object[]{longDecideSmsId});
int arrNum = db.executeUpdate(arrivalSql,new Object[]{arrival,longDecideSmsId});
if(upSTnum>0&&arrNum>0){
result = 0;
falg = true;
}
} catch (Exception e) {
result = 0;
CimUtils.errorLog("",
"抵达率执行事务出现异常:" + e.toString(), updateCimSQL
+ "~~~~" + arrivalSql,
"PostRecvSms");
} finally {
}
} else {
result = 0;
}
} else {
result = 0;
}
} else {
result = 0;
}
}catch (Exception e) {
CimUtils.errorLog("", "抵达率出现异常:"+e.toString(), content, "PostRecvSms");
}