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()



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