Java.util.Scanner 类

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

语法

public BigDecimal nextBigDecimal()

参数

不需要参数。

返回值

返回从输入扫描的 BigDecimal。

异常

  • 如果下一个标记不匹配,则抛出 InputMismatchException BigDecimal 正则表达式,或者超出范围。
  • 如果输入已用尽,则抛出 NoSuchElementException
  • 抛出 IllegalStateException,如果此扫描仪已关闭。

示例:

在下面的示例中,java.util.Scanner.nextBigDecimal() 方法用于将输入的下一个标记扫描为 BigDecimal。

import java.util.*;

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

    //要扫描的字符串
    String MyString = "Hello World 10 + 20 = 30.0";

    //创建扫描仪
    Scanner MyScan = new Scanner(MyString);

    while(MyScan.hasNext()) {
      //如果下一个是 BigDecimal
      if(MyScan.hasNextBigDecimal())
        System.out.println("BigDecimal value is: "+ MyScan.nextBigDecimal());
      //如果下一个不是 BigDecimal
      else
        System.out.println("No BigDecimal Value found: "+ MyScan.next());
    }

    //关闭扫描仪
    MyScan.close();
  }
}

上述代码的输出将是:

No BigDecimal Value found: Hello
No BigDecimal Value found: World
BigDecimal value is: 10
No BigDecimal Value found: +
BigDecimal value is: 20
No BigDecimal Value found: =
BigDecimal value is: 30.0