问题标签 [bigdecimal]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
11 回答
33636 浏览

java - BigDecimal 的对数

如何计算 BigDecimal 的对数?有谁知道我可以使用的任何算法?

到目前为止,我的谷歌搜索已经提出了一个(无用的)想法,即转换为双精度并使用 Math.log。

我将提供所需答案的准确性。

编辑:任何基地都可以。如果在 base x 中更容易,我会这样做。

0 投票
6 回答
14856 浏览

ruby - 为什么 BigDecimal 返回一个奇怪的值?

我正在编写处理货币、费用等的代码。我将使用 BigDecimal 类进行数学和存储,但我们遇到了一些奇怪的问题。

这个说法:

返回假。

如果我通过格式化字符串运行这些值,"%.13f"我会得到:

请注意 BigDecimal 中最后一位小数的额外2内容。

我认为 BigDecimal 应该可以解决将实数直接存储在计算机的本机浮点中的不准确性。这是2从哪里来的?

0 投票
2 回答
653 浏览

java - BigDecimal:Java 编译器能否优化除以 1 的乘法?

在谈论 BigDecimal 时,Java 编译器是否会删除乘法 1?

我站在与此类似的地方:

getOneTwoOrThree 方法声明为:

所以,基本上。

如果getOneTwoOrThree()返回 1,编译器会执行乘法吗?或者它会没有指令吗?
这有点存在疑问,但我想我在某种程度上处于早期优化阶段。

0 投票
4 回答
48664 浏览

java - Java,BigDecimal。分工问题

我正在尝试计算百分比“因子”。也就是说,给定 20%,将其转换为 0.2(我的意图是稍后将值乘以该值并获得 20% 的值)。

无论如何,这个问题与这段代码有关:

我希望这样的结果是这样的:

而是percentage.divide(hundred, roundingMode);返回零,因此我得到:

我究竟做错了什么?如何正确划分两个大小数?

顺便说一句,我使用的BigDecimal是因为我将计算货币百分比,所以我想控制四舍五入。

0 投票
6 回答
96708 浏览

java - 将 Long 转换为 BigDecimal

我怎样才能Long投到BigDecimal

0 投票
4 回答
19562 浏览

java - 为什么 Java BigDecimal 返回 1E+1?

为什么此代码有时会返回 1E+1 而对于其他输入(例如 17),输出未以科学计数法打印?

0 投票
3 回答
5823 浏览

java - 如何在 BigDecimal 上获取Scale?

我发现 BigDecimal 有 setScale 方法,但没有 getScale 方法。如何在 BigDecimal 上获取Scale?

0 投票
3 回答
11371 浏览

java - 为什么 Bigdecimal(double d) 结构仍然存在?

我注意到这个构造函数有很大的痛苦(即使在 Stack Overflow 上也是如此)。即使文档明确指出,人们也会使用它:

此构造函数的结果可能有些不可预测 http://java.sun.com/javase/6/docs/api/java/math/BigDecimal.html#BigDecimal(double)

我什至看到一个JSR-13批准,其中有一条建议说明:

可能被弃用的现有规范:我们建议弃用 BigDecimal(double) 构造函数,它目前给出的结果与 Double.toString() 方法不同。

尽管如此,构造函数还没有被弃用。

我很想听听对此的任何看法。

0 投票
7 回答
47986 浏览

java - 检查 BigDecimal 是否是 Java 中的整数

确定 a 是否是数学意义上的整数值的有效方法是什么?BigDecimal

目前我有以下代码:

...但如果可能的话,希望避免对象创建开销。

以前我使用bd.longValueExact()which 将避免在内部使用其紧凑表示时创建对象BigDecimal,但如果值太大而无法放入 long 中,显然会失败。

0 投票
2 回答
466 浏览

ruby-on-rails - 为什么 Ruby 的 BigDecimal 有时会奇怪地表示数字?

当我运行某些报告时,我看到了非常非常奇怪的行为:

如果您注意到,p.to_sBigDecimal 的表示看起来是一致的。与q和相同q.to_s。但是,p-q字符串是否表示为“0.1244...”,但在格式化为“10244.98...”时出现

当我运行它时,number_to_currency它实际上显示了错误的数字(12,449.88 美元)而不是预期的数字,但仅在我的 RHEL 4 Box 上。