Java Scanner nextBigDecimal() Method



Description

The java 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.

Declaration

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

public BigDecimal nextBigDecimal()

Parameters

NA

Return Value

This method returns the BigDecimal scanned from the input

Exception

  • 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

Getting Next Token as BigDecimal of a Scanner on a String Example

The following example shows the usage of Java Scanner nextBigDecimal() method to scan the next token as BigDecimal. We've created a scanner object using a given string. Then we checked each token to be BigDecimal and printed otherwise Not Found is printed along with scanned token. In the end scanner is closed using close() method.

package com.tutorialspoint;

import java.util.Scanner;

public class ScannerDemo {
   public static void main(String[] args) {

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

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

      while (scanner.hasNext()) {
         
         // check if the scanner's next token is a BigDecimal
         if(scanner.hasNextBigDecimal()){
            // print what is scanned
            System.out.println("Found: " + scanner.nextBigDecimal());		 
         } else {
            System.out.println("Not Found: " + scanner.next());
         }
      }

      // close the scanner
      scanner.close();
   }
}

Output

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

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

Getting Next Token as BigDecimal of a Scanner on User Input Example

The following example shows the usage of Java Scanner nextBigDecimal() method to scan the next token as BigDecimal. We've created a scanner object using System.in class. Then we checked each token to be BigDecimal and printed otherwise Not Found is printed along with scanned token. In the end scanner is closed using close() method.

package com.tutorialspoint;

import java.util.Scanner;

public class ScannerDemo {
   public static void main(String[] args) {

      // create a new scanner with System Input
      Scanner scanner = new Scanner(System.in);
         
      while (scanner.hasNext()) {
         
         // check if the scanner's next token is a BigDecimal
         if(scanner.hasNextBigDecimal()){
            // print what is scanned
            System.out.println("Found: " + scanner.nextBigDecimal());		 
         } else {
            System.out.println("Not Found: " + scanner.next());
         }
      }

      // close the scanner
      scanner.close();
   }
}

Output

Let us compile and run the above program, this will produce the following result − (where we've entered 3.0.)

3.0
Found: 3.0

Getting Next Token as BigDecimal of a Scanner on a Properties File Example

The following example shows the usage of Java Scanner nextBigDecimal() method to scan the next token as BigDecimal. We've created a scanner object using a file properties.txt. Then we checked each token to be BigDecimal and printed otherwise Not Found is printed along with scanned token. In the end scanner is closed using close() method.

package com.tutorialspoint;

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

public class ScannerDemo {
   public static void main(String[] args) throws FileNotFoundException {

      // create a new scanner with a file as input
      Scanner scanner = new Scanner(new File("properties.txt"));
         
      while (scanner.hasNext()) {
         
         // check if the scanner's next token is a BigDecimal
         if(scanner.hasNextBigDecimal()){
            // print what is scanned
            System.out.println("Found: " + scanner.nextBigDecimal());		 
         } else {
            System.out.println("Not Found: " + scanner.next());
         }
      }

      // close the scanner
      scanner.close();
   }
}

Assuming we have a file properties.txt available in your CLASSPATH, with the following content. This file will be used as an input for our example program −

Hello World! 3 + 3.0 = 6

Output

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

3
3.0
6
java_util_scanner.htm
Advertisements