问题标签 [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 投票
4 回答
43170 浏览

java - 在java中表示大小数的数据类型

哪种数据类型易于表示像“10364055.81”这样的十进制数。

如果尝试使用双精度:

但是当我尝试打印数字时,它显示为“ 1.036405581E7 ”,这是我不想要的。

我应该使用 BigDecimal 吗?但它显示为10364055.81000000052154064178466796875。是否有任何数据类型可以按原样显示值?此外,该数字可能大于作为示例的数字。

顺便说一句,使用 BigDecimal 会影响应用程序的性能吗?我可能会在几乎所有的 DTO 中使用它。

0 投票
3 回答
6273 浏览

gwt - GWT 中的 BigDecimal 序列化

在 GWT 中序列化 BigDecimal 的首选方法是什么?

是否有任何巧妙的解决方法,或者您只是使用 Double 或 String?

在所有 GWT 的痛苦中,这是迄今为止最大的;我讨厌创建两个模型,一个用于服务器,一个用于 GWT,并将数据从一个转换到另一个。另一方面,虽然我不太关心使用 String 而不是 javax.xml.datatype.Duration,但由于计算的原因,我必须在服务器上使用 BigDecimal,这意味着两个模型和转换,或者每次计算都有大量到 BigDecimal 的微小转换。

0 投票
1 回答
537 浏览

ruby-on-rails - Ruby 1.8.6 BigDecimal.to_f 在 Solaris 上总是返回 '0,0'

我遇到了一个非常奇怪的错误。我在 Solaris 10 上,使用 Ruby Enterprise Edition (ruby 1.8.6 (2008-08-08 patchlevel 286) [i386-solaris2.10]) 和 Rails 2.3.4。我有一个非常奇怪的错误。在 irb 中:

一切安好!但是当我启动 Rails 控制台并做同样的事情时,“to_f”总是返回“0,0”。

当我在我的 Mac 上做同样的事情时,这不会发生。很奇怪!这可能是 Ruby 企业版中的错误吗?但如果是这样,为什么 irb 不会出现(这也是 REE 版本,我仔细检查了)。有任何想法吗?

  • 约翰内斯
0 投票
12 回答
252587 浏览

java - BigDecimal 的加法

BigDecimal我想用一些以类型表示的货币值做一些简单的求和。

显然我不太了解BigDecimal算术,请参阅后面的输出。

谁能帮我吗?

0 投票
2 回答
14060 浏览

java - BigDecimal 赋值运算符

我在将一个大十进制值分配给另一个时遇到问题

我正在尝试创建一个临时大小数并将 0 添加到另一个大小数

但是,我只想简单地对大小数进行以下操作:

0 投票
2 回答
2872 浏览

ruby-on-rails - Ruby BigDecimal Round:这是一个错误吗?

在编写一个用 BigDecimal 表示的值的测试时,我遇到了一些奇怪的事情并决定深入研究它。简而言之,“0.00009”在四舍五入到小数点后两位返回为 0.01 而不是 0.00。真的。这是我的脚本/控制台捕获:

哦,如果我使用默认模式,我会得到相同的结果,如下所示:

这是我的版本:

有没有人见过这样的事情?

0 投票
11 回答
28844 浏览

java - 将 BigDecimal 舍入到最接近的 5 美分

我试图弄清楚如何将货币金额向上舍入到最接近的 5 美分。以下显示了我的预期结果

我需要结果的精度为 2(如上所示)。

更新

按照下面的建议,我能做的最好的就是这个

我不相信这是 100% 洁净的 - 我担心在转换为双打时可能会丢失精度。但是,这是迄今为止我想出的最好的,并且似乎有效。

0 投票
2 回答
1042 浏览

java - 计算大根:bigdecimal / java

我尝试使用标准迭代算法来计算第 n 个根。

例如 (111^123)^(1/123)。

标准算法计算基数的高次幂(在本例中为 111^123),这需要大量时间。该算法在这里给出http://en.wikipedia.org/wiki/Nth_root_algorithm

但是,我注意到使用双精度的同一件事不到一毫秒。所以很明显他们使用了一些聪明的想法。对此有任何提示吗?

0 投票
5 回答
12405 浏览

java - Java BigDecimal 三角函数

我正在开发一个数学解析器,它能够像'5+b*sqrt(c^2)'. 我正在使用 ANTLR 进行解析并取得良好进展。现在我跌倒在 Java 类上BigDecimal并想:嘿,为什么不在这里考虑精度。

我的问题是 Java API 没有为BigDecimals like提供三角函数方法java.lang.Math。你知道是否有像 Apache Commons 这样的优秀数学库来处理这个问题?

另一个问题是如何实现幂法,以便我可以用BigDecimals 计算 4.9 ^ 1.4。这可能吗?

还感谢有关数值计算的书籍请求。

0 投票
2 回答
2515 浏览

java - The Java BigDecimal vs The Financial Mans - "The 1 cent problem"

I have this problem: The financial mans says: "Error of your programation".

The official table of values and final calc from financial is

My function's return value must match the total value from that table:

system out: BASE=1077.70 - descount=16.17 totalvalue=1061.53 missing value of table! BASE=1280.55 - descount=19.21 totalvalue=1261.34 missing value of table!

The diff in some case is 0,01 cent but to financial it's impossible becouse this universe of people is 18.340 registry's the diff is 18340 x 0.01 x 365 x 2 = 4401,6 ===> R$ 4401,6 this the cost of one cent not rounded correctly! Can anyone help me? thanks JAY... This was proposed by JAY:

based on the Idea of Jay i make some modifications the financial guys says: "well, we never can uP de discount to clients..we need some times round the due to up on cent"..

thanks for all!...