Java.util.Scanner.nextBigDecimal() 方法

描述

java.util.Scanner.nextBigDecimal() 方法将输入的下一个标记扫描为 BigDecimal。 如果下一个标记与上面定义的 Decimal 正则表达式匹配,则该标记被转换为 BigDecimal 值,就好像通过删除所有组分隔符,通过 Character.digit 将非 ASCII 数字映射为 ASCII 数字,并将结果字符串传递给 BigDecimal (字符串)构造函数。


声明

以下是 java.util.Scanner.nextBigDecimal() 方法的声明

public BigDecimal nextBigDecimal()

参数

NA


返回值

此方法返回从输入扫描的 BigDecimal


异常

  • InputMismatchException − 如果下一个标记与 Decimal 正则表达式不匹配,或者超出范围

  • NoSuchElementException − 如果没有更多的元素

  • IllegalStateException − 如果此扫描仪已关闭


示例

下面的例子展示了 java.util.Scanner.nextBigDecimal() 方法的使用。

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 :" + scanner.next());
      }

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

让我们编译并运行上面的程序,这将产生以下结果 −

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