Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Bigdecimal抛出异常_Java_Bigdecimal - Fatal编程技术网

Java Bigdecimal抛出异常

Java Bigdecimal抛出异常,java,bigdecimal,Java,Bigdecimal,我写了这段代码: BigDecimal nummer = new BigDecimal("8340337220.0"); BigDecimal denominator = new BigDecimal("17.O"); BigDecimal result = nummer.divide(denominator); System.out.println(result); 在eclipse中运行后,它会给我: Exception in thread "main" java.lang.NumberF

我写了这段代码:

BigDecimal nummer = new BigDecimal("8340337220.0");
BigDecimal denominator = new BigDecimal("17.O");
BigDecimal result = nummer.divide(denominator);
System.out.println(result);
在eclipse中运行后,它会给我:

Exception in thread "main" java.lang.NumberFormatException
    at java.math.BigDecimal.<init>(BigDecimal.java:459)
    at java.math.BigDecimal.<init>(BigDecimal.java:728)
    at main.main(main.java:10)
线程“main”java.lang.NumberFormatException中的异常 在java.math.BigDecimal.(BigDecimal.java:459) 在java.math.BigDecimal.(BigDecimal.java:728) main.main(main.java:10)
有人能帮我吗?

看起来你在
“17.O”
中有一个大写字母“O”。替换为零:

BigDecimal denominator = new BigDecimal("17.0");

谢谢,我的错。现在我得到了这个:线程“main”java.lang中的异常。算术异常:非终止十进制扩展;没有可精确表示的十进制结果。大小数是任意精度,但不是无限精度。你需要使用
divide
方法,该方法采用整数刻度和
RoundingMode
。你发现了什么问题?
BigDecimal nummer = new BigDecimal("83227720.0");
BigDecimal denominator = new BigDecimal("17.0");
BigDecimal result = nummer.divide(denominator,10,RoundingMode.DOWN);
System.out.println(result);