bigdecimal相关内容

BigDecimal setScale和round

这两个电话有什么区别? (有没有?) // 1. 新BigDecimal(“3.53456”)。round(新的MathContext (4,RoundingMode.HALF_UP)); // 2. new BigDecimal(“3.53456”)。setScale(4,RoundingMode.HALF_UP); 解决方案 提到但未直接解决的一个重点是“pr ..
发布时间:2018-11-27 22:05:35 Java开发

使用Streams添加BigDecimals

我有一个BigDecimals集合(在这个例子中,一个 LinkedList ),我想一起添加。是否有可能为此使用流? 我注意到 Stream 类有几种方法 Stream :: mapToInt Stream :: mapToDouble Stream :: mapToLong 每个方法都有一个方便的 sum()方法。但是,正如我们所知, float 和 d ..
发布时间:2018-11-27 13:22:05 Java开发

Java BigDecimal三角法

我正在开发一个数学解析器,它能够像'5 + b * sqrt(c ^ 2)'一样评估字符串。我正在使用ANTLR进行解析并取得良好进展。现在我跌破了Java类 BigDecimal 并且想:嘿,为什么不在这里考虑精度。 我的问题是Java API不为 BigDecimal 提供三角形方法,如 java.lang.Math 。你知道是否有像Apache Commons这样的好的数学库可以解决这 ..
发布时间:2018-11-27 13:12:56 Java开发

BigDecimal - 使用new或valueOf

我遇到了两种方法,即从双d中获取BigDecimal对象。 1。 new BigDecimal(d) 2. BigDecimal.valueOf(d) 这将是一个更好的方法? valueOf会创建一个新对象吗? 一般情况下(不只是BigDecimal),推荐什么 - new或valueOf? 谢谢。 解决方案 这是两个独立的问题:“我应该 ..
发布时间:2018-11-27 12:39:19 Java开发

如何在Java中对BigDecimal进行分数处理?

在我的小项目中,我需要做一些像Math.pow(7777.66,5555.44)这样的东西只有非常大的数字。我遇到了一些解决方案: 使用双倍 - 但数字太大 使用BigDecimal.pow但不支持分数 使用X ^(A + B)= X ^ A * X ^ B公式(B是第二个数字的余数),但是不支持大X或大A,因为我仍然转换为双 使用某种泰勒系列算法或类似的东西 - 我不是很擅长数学所以 ..
发布时间:2018-11-27 11:28:44 Java开发

如何在Java中设置千位分隔符?

如何在Java中设置千位分隔符? 我有BigDecimal的String表示,我想设置千位分隔符并返回String。 解决方案 这应该有用(未经测试,基于JavaDoc): DecimalFormat formatter =(DecimalFormat)NumberFormat.getInstance(Locale.US); DecimalFormatSymbols symb ..
发布时间:2018-11-27 11:18:14 Java开发

BigDecimal的补充

我想用一些以 BigDecimal 类型表示的货币值做一些简单的总结。 BigDecimal test = new BigDecimal(0); System.out.println(test); test.add(new BigDecimal(30)); System.out.println(test); test.add(new BigDecimal(45)); S ..
发布时间:2018-11-26 21:38:48 Java开发

BigDecimal的对数

如何计算BigDecimal的对数?有没有人知道我可以使用的任何算法? 到目前为止,我的谷歌搜索已经提出了(无用的)只想转换为双精度并使用Math.log的想法。 我将提供所需答案的精确度。 编辑:任何基地都可以。如果它在基数x中更容易,我会这样做。 解决方案 Java Number Cruncher:Java程序员数值计算指南使用牛顿方法。本书的源代码可在此处获取。以下 ..
发布时间:2018-11-26 21:04:58 Java开发

Java中BigDecimal的平方根

我们是否可以仅使用Java API而不是定制的100行算法来计算Java中 BigDecimal 的平方根? 解决方案 我已经用过这个了,效果很好。 以下是算法如何在高级别运行的示例。 编辑:我很想知道下面定义的准确程度。以下是来自官方来源的sqrt(2): (前200位)1.41421356237309504880168872420969807856967187537694 ..
发布时间:2018-11-26 14:51:32 Java开发

安全字符串到BigDecimal转换

我正在尝试从字符串中读取一些BigDecimal值。假设我有这个字符串:“1,000,000,000.999999999999999”,我希望得到一个BigDecimal。有什么办法呢? 首先,我不喜欢使用字符串替换的解决方案(替换逗号等)。我认为应该有一些整洁的格式化程序来为我完成这项工作。 我找到了一个DecimalFormatter类,但是因为它通过双重操作 - 大量的精度是丢失 ..
发布时间:2018-11-26 14:19:47 Java开发

使用BigDecimal处理货币

我试图使用longs为我自己的货币类,但显然我应该使用 BigDecimal 。有人可以帮助我开始吗?对于美元货币使用 BigDecimal s的最佳方法是什么,比如至少但不超过2美分的小数点等等。 BigDecimal 很大,我不知道使用哪种方法。此外, BigDecimal 具有更好的精度,但如果它通过 double ,并不是全部丢失?如果我做新的 BigDecimal(24.99),它与使用 ..
发布时间:2018-11-26 14:15:24 Java开发

用Java表示货币价值

据我所知,BigDecimal是在Java中表示货币价值的推荐最佳做法。你用什么?您是否更喜欢使用更好的库? 解决方案 BigDecimal 一路走来。我听说有些人创建了他们自己的现金或 Money 类,这些类用货币封装现金值,但是在皮肤下它仍然是 BigDecimal ,可能与 BigDecimal.ROUND_HALF_EVEN 舍入。 编辑:正如Don在他的回答中提到,有像 t ..
发布时间:2018-11-26 13:38:37 Java开发

在Java中转换美元(整数)的美元(大十进制)的最佳方法是什么?

我必须将我的Web应用程序与支付网关集成。我想以美元输入总金额,然后将其转换为美分,因为我的支付网关库接受的数量为Cents(类型为 Integer )。我发现java中的 Big Decimal 是操纵货币的最佳方式。目前我接受输入为50美元,并将其转换为整数,如下所示: BigDecimal四舍五入= amount.setScale(2,BigDecimal.ROUND_CEILING ..
发布时间:2018-08-06 20:41:45 Java开发

你会在MySQL中使用Java / Hibernate映射BigDecimal的类型是什么?

在经历了之前的开发中的代码故障之后,我意识到我需要移动所有基于钱的列来不使用浮点数学。在Java方面,这意味着使用BigDecimal,但是当使用Hibernate / JPA和MySQL 5时,什么是适合于创建该列的MySQL数据类型? 解决方案 DECIMAL和NUMERIC。 DECIMAL和NUMERIC类型推荐的Java映射是 java.math.BigDecimal。 ..
发布时间:2018-06-07 19:41:05 Java开发