Java.util.Scanner.nextBigDecimal() Method



The java.util.Scanner.nextBigDecimal() method scans the next token of the input as a BigDecimal. If the next token matches the Decimal regular expression defined above then the token is converted into a BigDecimal value as if by removing all group separators, mapping non-ASCII digits into ASCII digits via the Character.digit, and passing the resulting string to the BigDecimal(String) constructor.


Following is the declaration for java.util.Scanner.nextBigDecimal() method

public BigDecimal nextBigDecimal()


  • NA

Return Value

This method returns the BigDecimal scanned from the input


  • InputMismatchException -- if the next token does not match the Decimal regular expression, or is out of range

  • NoSuchElementException -- if the input is exhausted

  • IllegalStateException -- if this scanner is closed


The following example shows the usage of java.util.Scanner.nextBigDecimal() method.

package com.tutorialspoint;

import java.util.*;

public class ScannerDemo {

   public static void main(String[] args) {

      String s = "Hello World! 3 + 3.0 = 6  true";

      // create a new scanner with the specified String Object
      Scanner scanner = new Scanner(s);

      // find the next BigDecimal token and print it
      // loop for the whole scanner
      while (scanner.hasNext()) {

         // if the next is BigDecimal, print found and the decimal
         if (scanner.hasNextBigDecimal()) {
            System.out.println("Found :" + scanner.nextBigDecimal());

         // if a BigDecimal is not found, print "Not Found" and the token
         System.out.println("Not Found :" +;

      // close the scanner

Let us compile and run the above program, this will produce the following result:

Not Found :Hello
Not Found :World!
Found :3
Not Found :+
Not Found :3.0
Not Found :=
Found :6
Not Found :true