问题标签 [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 - 无法在java中将bigdecimal转换为字符串
这是java代码
c 是一个数组列表。我用数据库中的这个字段填充它。
"USAGETYPE" NUMBER(*,0)
,
我收到以下错误
你能帮帮我吗
java - 如何在 Java 中对 BigDecimal 进行分数幂运算?
在我的小项目中,我Math.pow(7777.66, 5555.44)
只需要对非常大的数字做一些事情。我遇到了一些解决方案:
- 使用
double
- 但数字太大 - 使用
BigDecimal.pow
但不支持小数 - 使用
X^(A+B)=X^A*X^B
公式(B
是第二个 num 的余数),但同样不支持 bigX
或 bigA
,因为我仍然转换为 double - 使用某种泰勒级数算法或类似的东西——我数学不是很好,所以如果我找不到任何解决方案(一些库或公式
(A+B)^(C+D)
),这是我的最后选择。
有谁知道图书馆或简单的解决方案?我想很多人都会遇到同样的问题...
ps 我发现了一些名为 ApFloat 的库,声称可以近似地做到这一点,但我得到的结果非常近似,甚至8^2
给了我60
......
java - Double 中的 BigDecimal 值不正确?
我正在尝试从字符串中生成 BigDecimal。不要问我为什么,我就是需要!这是我的代码:
这是我得到的输出?
有任何想法吗?
java - 安全字符串到 BigDecimal 的转换
我正在尝试从字符串中读取一些 BigDecimal 值。假设我有这个字符串:“1,000,000,000.999999999999999”,我想从中得到一个 BigDecimal。这样做的方法是什么?
首先,我不喜欢使用字符串替换(替换逗号等)的解决方案。我认为应该有一些简洁的格式化程序来为我完成这项工作。
我找到了一个 DecimalFormatter 类,但是当它通过 double 运行时 - 大量的精度丢失了。
那么,我该怎么做呢?
java - BigDecimal 到 SQL NUMBER:检查值是否大于精度
在我的应用程序中,我将数字处理为 BigDecimal,并将它们存储为 NUMBER(15,5)。现在我需要在 Java 上正确检查 BigDecimal 值是否适合该列,这样我就可以在不执行 SQL、捕获异常和验证供应商错误代码的情况下生成正确的错误消息。我的数据库是 Oracle 10.3,这样的错误会导致错误 1438。
经过一番谷歌搜索,我发现没有这样的代码,所以我想出了自己的。但我对这段代码真的很不满意......简单,但同时简单到足以怀疑它的正确性。我用许多值、随机值和边界对其进行了测试,它似乎有效。但由于我对数字非常不满意,我想要一些更健壮且经过良好测试的代码。
编辑:最近的测试并没有因为超出比例的数字而出现异常,只是默默地四舍五入,我不确定在没有和我进行这些第一次测试时有什么不同。这种舍入是不可接受的,因为应用程序是财务应用程序,并且任何舍入/截断必须是显式的(通过 BigDecimal 方法)。抛开异常不谈,此测试方法必须确保数字对于所需精度来说不会太大,即使是非有效数字也是如此。抱歉,澄清晚了。
谢谢你的时间。
这个问题我还是很好奇的。我的代码仍在运行,我还没有一些正确或失败情况的“证明”,或者这种测试的一些标准代码。
所以,我正在悬赏它,希望能得到其中的任何一个。
ruby - Ruby BigDecimal 生成纯浮点数?
我刚刚将我的 Ruby 版本切换到 1.9.2,而在 Ruby 1.8 中工作的 BigDecimal 代码不再工作了。这是测试代码显示发生了什么
我的 Ruby 安装有问题?否则我认为即使在 Ruby 1.9 中,上面的测试代码仍然可以工作,这是怎么回事?
java - 如何在 java 中从 float 转换为 bigDecimal?
如何在 java 中从 float 转换为 bigDecimal?
java - BigDecimal setScale 和 round
这两个调用有什么区别?(有没有?)
java - 为什么 BigDecimal("5.50") 不等于 BigDecimal("5.5") 以及如何解决这个问题?
实际上,我找到了可能的解决方案
当然,可以通过Math.abs (v1 - v2) < EPS
使比较更健壮的方法来改进它,但问题是这种技术是否可以接受或者是否有更好的解决方案?
如果有人知道为什么 java 设计者决定以这种方式实现 BigDecimal 的等号,那么阅读起来会很有趣。
java - 使用 BigDecimal 小数点后的最大位数
BigDecimal
Java中一个值的小数点后最多可以有多少位?