Wednesday, 15 April 2015

java - convert String to int to get a unique number -


Hi, I'm trying to convert an email such as "ABC-D1_23 Quowter" to an int number

  stringbuilder sb = new stringbiller (); Int intServiceName = 0; String string server; For (Int i = 0; I & lt; Savanam. Lang (); I ++) {if (DEBUG) Log.i (Tag, "serviceName.length () loop i:" + i); Sb.append (String.valueOf (Character.getNumericValue (serviceName.charAt (i)))); If (DEBUG) Log.i (TAG, "serviceName.length () after Loop I:" + i); } If (DEBUG) Log.i (tag, "serviceName.length () loop and 2"); StringServiceValue = sb.toString (); If (DEBUG) Log.i (TAG, "serviceName.length () Loop End:" + stringServiceValue.replaceAll ("\\ D +", "")); StringServiceValue = stringServiceValue.replaceAll ("\\ D +", ""); If (DEBUG) Log.i (TAG, "serviceName.length () Loop Endering Service Service:" + stringServiceValue); IntServiceName = Integer Parsih (stringServiceValue); If (DEBUG) Log.i (TAG, "serviceName.length () Loop and 123123:" + String.valueOf (intServiceName));   

When the code reaches this line, I get an error:

  intServiceName = Integer.parseInt (stringServiceValue);   

Am I doing wrong? This error is logged

  06-21 19:12: 54.760: E / Android Random (11139): Fatal Exception: Assinink Task # 4 06-21 19:12: 54.760: E / Android Rentaim (11139): JavaklangkRuntimeException: an error occurred (while executing doInBackground) 06-21 19: 12: 54.760: e / Androidrentaim (11139): Androidkos.asink Task $ 3.done (AsyncTask. java: 299) 06 -21 19: 12: 54.760: e / Android Rentaim (11139): $ Sync.innerSetException on java.util.concurrent.FutureTask (FutureTask.java .7373) 06-21 19: 12: 54.760: e / AndroidTime (11139): at Java.util.concurrent.FutureTask.setException (FutureTask.java:124) 06-21 19:12: 54.760: E / Android Rentaim (11139) on java.util.concurrent.FutureTask $ Sync.innerRun (FutureTask.java: 307) 06-21 19: 12: 54.760: E / Android Rentaim (11139): JavakutilkconcurrentkFutureTaskkrun (FutureTask.java:137) 06-21 19: 12: 54.760: E / Android Time (11139): At android.os.AsyncTask $ SerialExecutor $ 1.run (AsyncTask.java 30-30) 06-21 19:12 : 54.760: e / Androidrentaim (11139) on java.util.concurrent.ThreadPoolExecutor.runWorker (Thr EadPoolExecutor.java:1076) 06-21 19: 12: 54.760: e / Android Rentaim (11139): the java.util. Concurrent.ThreadPool Excl. $ Worker.Ran (ThreadPoal Exporter Java Tell69) 06-21 19: 12: 54.760: E / AndroidRuntime (11139): at java.lang.Thread.run (Thread.Java: 856) 06-21 19:12: 54.760: E / Androindertime (11139): by reason: JavaklangkNumberFormatException: invalid int: "2914282912918292114" 06-21 19: 12: 54.760: e / Android Rentaim (11139) on JavaklangkIntegerkinvalidInt (Puarnankkjawaprom 38) 06-21 19 : 12: 54.760: e / Androidrentaim (11139) on JavaklangkIntegerkparse (Puarnankkjawa 378) 06-21 19: 12: 54.760: e / Androidrentaim (11139) on java.lang.Integer.parseInt (Integer. Java 366) 06-21 19: 12: 54.760: E / Android Random (11139): at java.lang.Integer.parseInt (integer. Java: 332) 06-21 19: 12: 54. 760: E / Android timeTime (11139): at com.wr.noc AsyncTasks.doInBackground (AsyncTasks.java:113) 06-21 19: 12: 54.760: E / Android Time (11139): com.wr.noc.AsyncTasks.doInBackground (AsyncTasks.java:1) 06-21 19:12: 54.760: E / Android Random (11139): D.os.AsyncTask $ 2.call (AsyncTask.java:287) on the Andro 06-21 19: 12: 54.760: E / Android Rendime (11139): at java.util. Concurrent.FutureTask $ Sync.innerRun (FutureTask.java.35) 06-21 19:12: 54.760: E / Android Random (11139): ... 5 more    

Use long instead of integer Your number is too big, you can do something like this if you do not need an int So

  sb.append (String.valueOf (Character.getNumericValue (serviceName.charAt (i))). Substring (0, 1));    

No comments:

Post a Comment