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