Java convert string to long exception

Convert String to Long in Java

You can typecast or convert a String to Long in Java in many ways. Some of them are using Long.parseLong(), Long.valueOf(), new Long().

In this tutorial, we shall learn some of the ways of how to convert a string value to a long value with examples.

1. Convert string to long using Long.parseLong()

Long.parseLong(str) parses any parsable long value from string to long value.

In this example, we shall use Long.parseLong() method and pass a string that can be parsed to a valid long value.

Java Program

/** * Java Program - Convert String to Long */ public class StringToLong < public static void main(String[] args) < //a string String str = "18965426354"; //convert string to long long n = Long.parseLong(str); System.out.print(n); >>

Run the above program and the String is converted to Long.

If you do not provide a valid string that is parsable long, Long.parseLong() throws NumberFormatException.

In the following example program, we shall take a string which does not contain a valid long value.

Some of the scenarios that could throw this error are:

  • If the string contains invalid characters that does not parse to a long value. Like decimal point, alphabets, etc.
  • A number that is out of range for a long value. Any value that is outside the range [-9,223,372,036,854,775,808 to 9,223,372,036,854,775,807] will make parseLong() to throw this error.

Java Program

/** * Java Program - Convert String to Long */ public class StringToLong < public static void main(String[] args) < //a string String str = "5.354"; //"as 9w0", "1as52" //convert string to long long n = Long.parseLong(str); System.out.print(n); >>

Run the above program and parseLong() throws NumberFormatException.

Exception in thread "main" java.lang.NumberFormatException: For input string: "5.354" at java.base/java.lang.NumberFormatException.forInputString(Unknown Source) at java.base/java.lang.Long.parseLong(Unknown Source) at java.base/java.lang.Long.parseLong(Unknown Source) at StringToLong.main(StringToLong.java:12)

Also, if null is passed to Long.parseLong(), the function throws NullPointerException.

Java Program

/** * Java Program - Convert String to Long */ public class StringToLong < public static void main(String[] args) < //a string String str = null; //convert string to long long n = Long.parseLong(str); System.out.print(n); >>

Run the above program and parseLong() throws NullPointerException.

Exception in thread "main" java.lang.NumberFormatException: null at java.base/java.lang.Long.parseLong(Unknown Source) at java.base/java.lang.Long.parseLong(Unknown Source) at StringToLong.main(StringToLong.java:12)

As Long.parseLong() can throw NullPointerException or NumberFormatException, it is a good practice to surround the function parseLong() with Java Try Catch and handle the exceptions accordingly.

/** * Java Program - Convert String to Long */ public class StringToLong < public static void main(String[] args) < //a string String str = "85612536"; long n = 0; try < //convert string to long n = Long.parseLong(str); >catch (NumberFormatException e) < System.out.println("Check the string. Not a valid long value."); >catch (NullPointerException e) < System.out.println("Check the string. String is null."); >System.out.print(n); > >

2. Convert string to long using Long.valueOf()

You can also use Long.valueOf() function to convert a string to long.

Читайте также:  TECT

In the following example, we shall use the method valueOf() to get long value from string.

Java Program

/** * Java Program - Convert String to Long */ public class StringToLong < public static void main(String[] args) < //a string String str = "-632916325"; long n = 0; //convert string to long try < n = Long.valueOf(str); >catch (NumberFormatException e) < System.out.println("Check the string. Not a valid long value."); >catch (NullPointerException e) < System.out.println("Check the string. String is null."); >System.out.print(n); > >

Just like Long.parseLong(), the function Long.valueOf() also throws NullPointerException if the string argument is null, or a NumberFormatException if the string does not parse to a valid long value.

3. Convert string to long using Long() constructor

Note: new Long() constructor is depreciated. So, you may get warning when you are following this process. Long.valueOf() is recommended in the place of new Long().

You can also use the constructor of Long class, to convert a string to long.

In the following example, we shall use the constructor of Long class to convert from string to long.

Java Program

/** * Java Program - Convert String to Long */ public class StringToLong < public static void main(String[] args) < try < Long f = new Long("9223372036854775807"); System.out.print(f); >catch (NumberFormatException e) < System.out.println("Check the string. Not a valid long value."); >catch (NullPointerException e) < System.out.println("Check the string. String is null."); >> >

Conclusion

In this Java Tutorial, we learned how to Convert a String to Long value in Java using Long.parseLong() and Long.valueOf() methods.

Источник

Convert String to long in Java

Learn to convert a String to Long type in Java using Long.parseLong(String) , Long.valueOf(String) methods and new Long(String) constructor.

String number = "2018"; //String long value1 = Long.parseLong( number, 10 ); long value2 = Long.valueOf( number ); long value3 = new Long( number ); 

1. Using Long.valueOf(String)

The Long.valueOf() method parses the input string to a signed decimal long type. The characters in the string must all be decimal digits, except that the first character may be a minus (-) sign for negative numbers and a plus(+) sign for positive numbers.

The result long value is exactly the same as the string argument in base 10. In the following example, we convert one positive and one negative number to a long value.

String positiveNumber = "+12001"; long value1 = Long.valueOf(positiveNumber); //12001L String negativeNumber = "-22002"; long value2 = Long.valueOf(negativeNumber); //-22002L

If the string cannot be parsed as a long, it throws NumberFormatException.

Assertions.assertThrows(NumberFormatException.class, () -> < Long.valueOf("alexa"); >);

2. Using Long.parseLong(String)

The rules for Long.parseLong(String) method are similar to Long.valueOf(String) method as well.

  • It parses the String argument as a signed decimal long type value.
  • The characters in the string must all be decimal digits, except that the first character may be a minus (-) sign for negative numbers and a plus(+) sign for positive numbers.
  • The result long value is exactly the same as the string argument in base 10.
Читайте также:  Can we create string class in java

Again, we will convert one positive number and one negative number to long value using parseLong() API.

String positiveNumber = "+12001"; long value1 = Long.parseLong(positiveNumber); //12001L String negativeNumber = "-22002"; long value2 = Long.parseLong(negativeNumber); //-22002L

If the input String is in another base then we can pass the base as second input to the method.

String numberInHex = "-FF"; long value = Long.parseLong(numberInHex); //-255L

3. Using new Long(String) Constructor

Another useful way is to utilize Long class constructor to create new long object. This method has been deprecated since Java 9, and recommended to use parseLong() API as discussed above.

long value = new Long("100"); //100L

Using any of the given approaches, if the input String does not have only the decimal characters (except the first character, which can be plus or minus sign), we will get NumberFormatException error in runtime.

String number = "12001xyz"; long value = Long.parseLong(number); //Error Exception in thread "main" java.lang.NumberFormatException: For input string: "12001xyz" at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) at java.lang.Long.parseLong(Long.java:589) at java.lang.Long.<init>(Long.java:965) at com.howtodoinjava.StringExample.main(StringExample.java:9)

Источник

Java String to Long — How to Parse String Into Long?

Twitter Facebook Google Pinterest

A quick guide on how to convert and parse String to Long in java with examples.

1. Overview

This problem can be solved in many ways but we will look at the most commonly used in real-time applications.

Sometimes you get the number in string format. So, you need to parse the string to long value to perform the operations on the long number.

Java String to Long - How to Parse String Long?

2. Java Parse String to Long using Long.parseLong()

The first character of the string is used for the sign of the number either plus(+) or minus(-) but this is optional.

package com.javaprogramto.programs.strings.tolong; public class StringToLongExample < public static void main(String[] args) < String positiveString = "12345"; long longvalue1 = Long.parseLong(positiveString); System.out.println("Positive Long value 1 : " + longvalue1); String positiveString2 = "+12345"; long longvalue2 = Long.parseLong(positiveString2); System.out.println("Positive Long value 2 : " + longvalue2); String negativeValue1 = "-12345"; long longvalue3 = Long.parseLong(negativeValue1); System.out.println("Negative Long value 3 : " + longvalue3); >>
Positive Long value 1 : 12345 Positive Long value 2 : 12345 Negative Long value 3 : -12345

3. Java Convert String to Long using Long.valueOf()

Long.valueOf() method takes the string value and converts it into the Long wrapper object. But whereas parseLong() method converts into primitive long value.

package com.javaprogramto.programs.strings.tolong; public class StringToLongExample < public static void main(String[] args) < String positiveString = "12345"; long longvalue1 = Long.parseLong(positiveString); System.out.println("Positive Long value 1 : " + longvalue1); String positiveString2 = "+12345"; long longvalue2 = Long.parseLong(positiveString2); System.out.println("Positive Long value 2 : " + longvalue2); String negativeValue1 = "-12345"; long longvalue3 = Long.parseLong(negativeValue1); System.out.println("Negative Long value 3 : " + longvalue3); >>

4. Java Convert String to Long using Long Constructor

package com.javaprogramto.programs.strings.tolong; public class StringToLongExample3 < public static void main(String[] args) < String positiveString = "12345"; Long longvalue1 = new Long(positiveString); System.out.println("Positive Long value 1 : " + longvalue1); String positiveString2 = "+12345"; Long longvalue2 = new Long(positiveString2); System.out.println("Positive Long value 2 : " + longvalue2); String negativeValue1 = "-12345"; Long longvalue3 = new Long(negativeValue1); System.out.println("Negative Long value 3 : " + longvalue3); >>

5. Java String to Long — String is with non-digits

package com.javaprogramto.programs.strings.tolong; public class StringToLongExample4 < public static void main(String[] args) < long one = Long.parseLong("abc133"); Long two = Long.valueOf("abc133"); Long three = new Long("abc133"); >>

The program fails at the runtime because string is having alphabets that are other than numbers.

Exception in thread "main" java.lang.NumberFormatException: For input string: "abc133" at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:68) at java.base/java.lang.Long.parseLong(Long.java:707) at java.base/java.lang.Long.parseLong(Long.java:832) at com.javaprogramto.programs.strings.tolong.StringToLongExample4.main(StringToLongExample4.java:7)

6. Conclusion

In this article, we have seen how to parse String to Long in java and what are the possible error if the string is with non digits values.

Читайте также:  Business studio html публикация

But among all of these 3 ways, Long,parseLong() method is suggested to use because valueOf() and Long constructor uses internally parseLong() method.

Labels:

SHARE:

Twitter Facebook Google Pinterest

About Us

Java 8 Tutorial

  • Java 8 New Features
  • Java 8 Examples Programs Before and After Lambda
  • Java 8 Lambda Expressions (Complete Guide)
  • Java 8 Lambda Expressions Rules and Examples
  • Java 8 Accessing Variables from Lambda Expressions
  • Java 8 Method References
  • Java 8 Functional Interfaces
  • Java 8 — Base64
  • Java 8 Default and Static Methods In Interfaces
  • Java 8 Optional
  • Java 8 New Date Time API
  • Java 8 — Nashorn JavaScript

Java Threads Tutorial

Kotlin Conversions

Kotlin Programs

Java Conversions

  • Java 8 List To Map
  • Java 8 String To Date
  • Java 8 Array To List
  • Java 8 List To Array
  • Java 8 Any Primitive To String
  • Java 8 Iterable To Stream
  • Java 8 Stream To IntStream
  • String To Lowercase
  • InputStream To File
  • Primitive Array To List
  • Int To String Conversion
  • String To ArrayList

Java String API

  • charAt()
  • chars() — Java 9
  • codePointAt()
  • codePointCount()
  • codePoints() — Java 9
  • compareTo()
  • compareToIgnoreCase
  • concat()
  • contains()
  • contentEquals()
  • copyValueOf()
  • describeConstable() — Java 12
  • endsWith()
  • equals()
  • equalsIgnoreCase()
  • format()
  • getBytes()
  • getChars()
  • hashcode()
  • indent() — Java 12
  • indexOf()
  • intern()
  • isBlank() — java 11
  • isEmpty()
  • join()
  • lastIndexOf()
  • length()
  • lines()
  • matches()
  • offsetByCodePoints()
  • regionMatches()
  • repeat()
  • replaceFirst()
  • replace()
  • replaceAll()
  • resolveConstantDesc()
  • split()
  • strip(), stripLeading(), stripTrailing()
  • substring()
  • toCharArray()
  • toLowerCase()
  • transform() — Java 12
  • valueOf()

Spring Boot

$show=Java%20Programs

$show=Kotlin

accumulo,1,ActiveMQ,2,Adsense,1,API,37,ArrayList,18,Arrays,24,Bean Creation,3,Bean Scopes,1,BiConsumer,1,Blogger Tips,1,Books,1,C Programming,1,Collection,8,Collections,37,Collector,1,Command Line,1,Comparator,1,Compile Errors,1,Configurations,7,Constants,1,Control Statements,8,Conversions,6,Core Java,149,Corona India,1,Create,2,CSS,1,Date,3,Date Time API,38,Dictionary,1,Difference,2,Download,1,Eclipse,3,Efficiently,1,Error,1,Errors,1,Exceptions,8,Fast,1,Files,17,Float,1,Font,1,Form,1,Freshers,1,Function,3,Functional Interface,2,Garbage Collector,1,Generics,4,Git,9,Grant,1,Grep,1,HashMap,2,HomeBrew,2,HTML,2,HttpClient,2,Immutable,1,Installation,1,Interview Questions,6,Iterate,2,Jackson API,3,Java,32,Java 10,1,Java 11,6,Java 12,5,Java 13,2,Java 14,2,Java 8,128,Java 8 Difference,2,Java 8 Stream Conversions,4,java 8 Stream Examples,12,Java 9,1,Java Conversions,14,Java Design Patterns,1,Java Files,1,Java Program,3,Java Programs,114,Java Spark,1,java.lang,4,java.util. function,1,JavaScript,1,jQuery,1,Kotlin,11,Kotlin Conversions,6,Kotlin Programs,10,Lambda,2,lang,29,Leap Year,1,live updates,1,LocalDate,1,Logging,1,Mac OS,3,Math,1,Matrix,6,Maven,1,Method References,1,Mockito,1,MongoDB,3,New Features,1,Operations,1,Optional,6,Oracle,5,Oracle 18C,1,Partition,1,Patterns,1,Programs,1,Property,1,Python,2,Quarkus,1,Read,1,Real Time,1,Recursion,2,Remove,2,Rest API,1,Schedules,1,Serialization,1,Servlet,2,Sort,1,Sorting Techniques,8,Spring,2,Spring Boot,23,Spring Email,1,Spring MVC,1,Streams,31,String,61,String Programs,28,String Revese,1,StringBuilder,1,Swing,1,System,1,Tags,1,Threads,11,Tomcat,1,Tomcat 8,1,Troubleshoot,26,Unix,3,Updates,3,util,5,While Loop,1,

Loaded All Posts Not found any posts VIEW ALL Readmore Reply Cancel reply Delete By Home PAGES POSTS View All RECOMMENDED FOR YOU LABEL ARCHIVE SEARCH ALL POSTS Not found any post match with your request Back Home Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sun Mon Tue Wed Thu Fri Sat January February March April May June July August September October November December Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec just now 1 minute ago $$1$$ minutes ago 1 hour ago $$1$$ hours ago Yesterday $$1$$ days ago $$1$$ weeks ago more than 5 weeks ago Followers Follow THIS PREMIUM CONTENT IS LOCKED STEP 1: Share to a social network STEP 2: Click the link on your social network Copy All Code Select All Code All codes were copied to your clipboard Can not copy the codes / texts, please press [CTRL]+[C] (or CMD+C with Mac) to copy Table of Content

Источник

Оцените статью