问题标签 [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.
java - BigDecimal 的对数
如何计算 BigDecimal 的对数?有谁知道我可以使用的任何算法?
到目前为止,我的谷歌搜索已经提出了一个(无用的)想法,即转换为双精度并使用 Math.log。
我将提供所需答案的准确性。
编辑:任何基地都可以。如果在 base x 中更容易,我会这样做。
ruby - 为什么 BigDecimal 返回一个奇怪的值?
我正在编写处理货币、费用等的代码。我将使用 BigDecimal 类进行数学和存储,但我们遇到了一些奇怪的问题。
这个说法:
返回假。
如果我通过格式化字符串运行这些值,"%.13f"
我会得到:
请注意 BigDecimal 中最后一位小数的额外2
内容。
我认为 BigDecimal 应该可以解决将实数直接存储在计算机的本机浮点中的不准确性。这是2
从哪里来的?
java - BigDecimal:Java 编译器能否优化除以 1 的乘法?
在谈论 BigDecimal 时,Java 编译器是否会删除乘法 1?
我站在与此类似的地方:
getOneTwoOrThree 方法声明为:
所以,基本上。
如果getOneTwoOrThree()
返回 1,编译器会执行乘法吗?或者它会没有指令吗?
这有点存在疑问,但我想我在某种程度上处于早期优化阶段。
java - Java,BigDecimal。分工问题
我正在尝试计算百分比“因子”。也就是说,给定 20%,将其转换为 0.2(我的意图是稍后将值乘以该值并获得 20% 的值)。
无论如何,这个问题与这段代码有关:
我希望这样的结果是这样的:
而是percentage.divide(hundred, roundingMode);
返回零,因此我得到:
我究竟做错了什么?如何正确划分两个大小数?
顺便说一句,我使用的BigDecimal
是因为我将计算货币百分比,所以我想控制四舍五入。
java - 将 Long 转换为 BigDecimal
我怎样才能Long
投到BigDecimal
?
java - 为什么 Java BigDecimal 返回 1E+1?
为什么此代码有时会返回 1E+1 而对于其他输入(例如 17),输出未以科学计数法打印?
java - 如何在 BigDecimal 上获取Scale?
我发现 BigDecimal 有 setScale 方法,但没有 getScale 方法。如何在 BigDecimal 上获取Scale?
java - 为什么 Bigdecimal(double d) 结构仍然存在?
我注意到这个构造函数有很大的痛苦(即使在 Stack Overflow 上也是如此)。即使文档明确指出,人们也会使用它:
此构造函数的结果可能有些不可预测 http://java.sun.com/javase/6/docs/api/java/math/BigDecimal.html#BigDecimal(double)
可能被弃用的现有规范:我们建议弃用 BigDecimal(double) 构造函数,它目前给出的结果与 Double.toString() 方法不同。
尽管如此,构造函数还没有被弃用。
我很想听听对此的任何看法。
java - 检查 BigDecimal 是否是 Java 中的整数
确定 a 是否是数学意义上的整数值的有效方法是什么?BigDecimal
目前我有以下代码:
...但如果可能的话,希望避免对象创建开销。
以前我使用bd.longValueExact()
which 将避免在内部使用其紧凑表示时创建对象BigDecimal
,但如果值太大而无法放入 long 中,显然会失败。
ruby-on-rails - 为什么 Ruby 的 BigDecimal 有时会奇怪地表示数字?
当我运行某些报告时,我看到了非常非常奇怪的行为:
如果您注意到,p.to_s
BigDecimal 的表示看起来是一致的。与q
和相同q.to_s
。但是,p-q
字符串是否表示为“0.1244...”,但在格式化为“10244.98...”时出现
当我运行它时,number_to_currency
它实际上显示了错误的数字(12,449.88 美元)而不是预期的数字,但仅在我的 RHEL 4 Box 上。