草庐IT

BIGDECIMAL

全部标签

java - 如何使用 Streams 平均 BigDecimals?

我想采取以下方法:publicBigDecimalmean(ListbigDecimals,RoundingModeroundingMode){BigDecimalsum=BigDecimal.ZERO;intcount=0;for(BigDecimalbigDecimal:bigDecimals){if(null!=bigDecimal){sum=sum.add(bigDecimal);count++;}}returnsum.divide(newBigDecimal(count),roundingMode);}并使用Streamsapi更新它。到目前为止,这是我所得到的:public

java - 如何使用 Streams 平均 BigDecimals?

我想采取以下方法:publicBigDecimalmean(ListbigDecimals,RoundingModeroundingMode){BigDecimalsum=BigDecimal.ZERO;intcount=0;for(BigDecimalbigDecimal:bigDecimals){if(null!=bigDecimal){sum=sum.add(bigDecimal);count++;}}returnsum.divide(newBigDecimal(count),roundingMode);}并使用Streamsapi更新它。到目前为止,这是我所得到的:public

java - 在 Java 中将 double 转换为 BigDecimal

我编写了一个Java程序来计算theRiemannZetaFunction的值。在程序内部,我制作了一个库来计算必要的复杂函数,例如atan、cos等。两个程序中的所有内容都通过double和BigDecimal数据类型访问。这在评估Zeta函数的大值时会产生重大问题。Zeta函数引用的数值近似当s具有大型复杂形式(例如s=(230+30i))时,直接以高值评估此近似值会产生问题。我非常感谢获得有关此here的信息。S2.minus(S1)的计算会产生错误,因为我在adaptiveQuad方法中写错了一些东西。例如,Zeta(2+3i)通过这个程序生成CalculationoftheR

java - 在 Java 中将 double 转换为 BigDecimal

我编写了一个Java程序来计算theRiemannZetaFunction的值。在程序内部,我制作了一个库来计算必要的复杂函数,例如atan、cos等。两个程序中的所有内容都通过double和BigDecimal数据类型访问。这在评估Zeta函数的大值时会产生重大问题。Zeta函数引用的数值近似当s具有大型复杂形式(例如s=(230+30i))时,直接以高值评估此近似值会产生问题。我非常感谢获得有关此here的信息。S2.minus(S1)的计算会产生错误,因为我在adaptiveQuad方法中写错了一些东西。例如,Zeta(2+3i)通过这个程序生成CalculationoftheR

java - 如何在 Java 中对 BigDecimal 进行分数幂运算?

在我的小项目中,我只需要对非常大的数字执行类似Math.pow(7777.66,5555.44)的操作。我遇到了一些解决方案:使用double-但数字太大使用BigDecimal.pow但不支持小数使用X^(A+B)=X^A*X^B公式(B是第二个数字的余数),但同样不支持对于大X或大A因为我仍然转换为double使用某种泰勒级数算法或类似的东西-我数学不是很好,所以如果我找不到任何解决方案,这是我最后的选择(一些库或公式(A+B)^(C+D)).有人知道图书馆或简单的解决方案吗?我想很多人都在处理同样的问题......附言我发现一些名为ApFloat的库声称可以近似地执行此操作,但我

java - 如何在 Java 中对 BigDecimal 进行分数幂运算?

在我的小项目中,我只需要对非常大的数字执行类似Math.pow(7777.66,5555.44)的操作。我遇到了一些解决方案:使用double-但数字太大使用BigDecimal.pow但不支持小数使用X^(A+B)=X^A*X^B公式(B是第二个数字的余数),但同样不支持对于大X或大A因为我仍然转换为double使用某种泰勒级数算法或类似的东西-我数学不是很好,所以如果我找不到任何解决方案,这是我最后的选择(一些库或公式(A+B)^(C+D)).有人知道图书馆或简单的解决方案吗?我想很多人都在处理同样的问题......附言我发现一些名为ApFloat的库声称可以近似地执行此操作,但我

java - 为什么 BigDecimal 自然排序与 equals 不一致?

来自theJavadocforBigDecimal:Note:careshouldbeexercisedifBigDecimalobjectsareusedaskeysinaSortedMaporelementsinaSortedSetsinceBigDecimal'snaturalorderingisinconsistentwithequals.例如,如果您创建一个HashSet并将newBigDecimal("1.0")和newBigDecimal("1.00")添加到它,该集合将包含两个元素(因为值具有不同的比例,因此根据equals和hashCode不相等),但如果你做同样的事

java - 为什么 BigDecimal 自然排序与 equals 不一致?

来自theJavadocforBigDecimal:Note:careshouldbeexercisedifBigDecimalobjectsareusedaskeysinaSortedMaporelementsinaSortedSetsinceBigDecimal'snaturalorderingisinconsistentwithequals.例如,如果您创建一个HashSet并将newBigDecimal("1.0")和newBigDecimal("1.00")添加到它,该集合将包含两个元素(因为值具有不同的比例,因此根据equals和hashCode不相等),但如果你做同样的事

java - 用 2 个小数位四舍五入 Bigdecimal 值

我想要一个函数来将Bigdecimal10.12转换为10.12345和10.13转换为10.12556。但是没有一个函数可以同时满足这两种转换。请帮助实现这一点。以下是我尝试过的。值为10.12345:BigDecimala=newBigDecimal("10.12345");a.setScale(2,BigDecimal.ROUND_UP)a.setScale(2,BigDecimal.ROUND_CEILING)a.setScale(2,BigDecimal.ROUND_DOWN)a.setScale(2,BigDecimal.ROUND_FLOOR)a.setScale(2,B

java - 用 2 个小数位四舍五入 Bigdecimal 值

我想要一个函数来将Bigdecimal10.12转换为10.12345和10.13转换为10.12556。但是没有一个函数可以同时满足这两种转换。请帮助实现这一点。以下是我尝试过的。值为10.12345:BigDecimala=newBigDecimal("10.12345");a.setScale(2,BigDecimal.ROUND_UP)a.setScale(2,BigDecimal.ROUND_CEILING)a.setScale(2,BigDecimal.ROUND_DOWN)a.setScale(2,BigDecimal.ROUND_FLOOR)a.setScale(2,B