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