我正在进行一个实验,在这个实验中,我们偶尔需要将小数字除以大数字,例如:4/90000。使用double可生成4.444e。我希望BigDecimal可以处理这个算法,并给我一个有意义的小数,但我的实现抛出了一个错误:
int count = 4;
int total = 90,000;
er = BigDecimal.valueOf(count).divide(BigDecimal.valueOf(total));
错误是:
Exception in thread "main" java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result.
at java.math.BigDecimal.divide(BigDecimal.java:1616)
更新:我对精度至少有3位小数很感兴趣。
您可以将MathContext
传递给除法方法调用。比如,
int count = 4;
int total = 90000;
BigDecimal er = BigDecimal.valueOf(count).divide(BigDecimal.valueOf(total),
MathContext.DECIMAL128);
System.out.println(er);
我得到了
0.00004444444444444444444444444444444444
问题内容: 我可以看到这对于新程序员来说是一个普遍的问题,但是我没有成功实现我的代码的任何解决方案。基本上,我想将w和v除,必须将其保存到double变量中。但它打印[0.0,0.0,…,0.0] 问题答案: 此行分几步进行 换句话说,精度在转换为两倍之前已经消失了,您需要先转换为两倍,所以 这迫使Java在整个过程中都使用double数学,而不是使用整数数学,然后在最后转换为double
问题内容: 嗨,我正在尝试合并两个数组,并且还想从最终数组中删除重复的值。 这是我的数组1: 这是我的数组2: 我用于将两个数组合并为一个数组。它正在给出这样的输出 我要删除这些重复的条目,或者在合并之前删除它们…请帮助。.谢谢!!! 问题答案: http://se2.php.net/manual/zh/function.array- unique.php
我有一个简单的问题:我想把一个文本和一个图像放在一行。我试过用display flex,但它总是调整图像的大小,这不是我想要的。 这是我的html代码: 这是我的CSS: 我还想把关闭的imgage放在方框的右边。看起来总是这样: 这可能很容易解决,但我现在很困惑。(感谢您的帮助:)
我正在创建一个货币转换应用程序。我想在小数点后得到答案。 这是我的代码:- 谢谢!
问题内容: 我见过类似的问题,但没有一个提供我所要的答案,因此,如果这被认为是重复的,我在此致歉。我正在尝试将数组{1,2,3}和{4,5,6}合并为{1,2,3,4,5,6}。我做错了什么?我是java的新手。抱歉,问题很愚蠢。 问题答案: 代替 您需要调用merge方法,并将结果分配给数组,例如: 您的for循环也应该是:
问题内容: 想象两个正整数A和B。我想将这两个整数合并为一个整数C。 不能有其他整数D和E组合成C。因此,将它们与加法运算符组合起来是行不通的。例如,30 + 10 = 40 = 40 + 0 = 39 + 1叠加都不起作用。例如,“ 31” +“ 2” = 312 =“ 3” +“ 12” 此组合运算还应该是确定性的(始终在相同的输入下产生相同的结果),并且应始终在整数的正或负侧产生整数。 问题