bigdecimal相关内容

Java BigDecimal 内存使用情况?

是否有用于估计 BigDecimal 消耗的内存量的指南? 寻找类似于这些指南的东西,用于估计String 内存使用情况. 解决方案 如果您查看 BigDecimal 源代码中的字段,则有: BigDecimal:long intCompact +8 字节int 精度 +4 字节int scale +4 字节字符串 stringCache +?BigInteger intVal + ..
发布时间:2021-12-21 10:19:49 Java开发

如何处理 Java BigDecimal 性能?

我编写货币交易应用程序是为了生活,所以我必须处理货币价值(遗憾的是 Java 仍然没有十进制浮点类型并且没有任何支持任意精度货币计算的东西).“使用 BigDecimal!"——你可能会说.我做.但是现在我有一些代码,其中性能是一个问题,而 BigDecimal 比 double 原语慢 1000 多倍(!). 计算非常简单:系统所做的是多次计算a = (1/b) * c(其中a, b 和 ..
发布时间:2021-12-17 15:14:24 Java开发

BigDecimal、精度和小数位数

我在我的应用程序中为我的数字使用 BigDecimal,例如,使用 JPA.我对“精度"和“规模"这两个术语进行了一些研究,但我不明白它们到底是什么. 谁能解释一下 BigDecimal 值的“精度"和“比例"的含义? @Column(精度 = 11, 比例 = 2) 谢谢! 解决方案 BigDecimal 由两个值定义:任意精度整数和 32 位整数 scale.BigDecim ..
发布时间:2021-12-14 18:10:00 Java开发

MongoDB - 十进制类型的值怎么样?

我目前正在为一个小型金融相关项目学习和应用 MongoDB. 当我阅读MongoDB 实战时,它说: BSON 数字类型通常出现的唯一其他问题是缺乏小数支持.这意味着,如果您打算在 MongoDB 中存储货币值,您需要使用整数类型并保持值以美分为单位. 我的金融相关产品会涉及一些货币价值,但我对上面的说法有点困惑或担心.以下是我的问题: 我可以在我的项目中对那些 curre ..
发布时间:2021-12-05 18:32:18 其他开发

Java中BigDecimal的平方根

我们可以仅使用 Java API 而不是定制的 100 行算法来计算 Java 中 BigDecimal 的平方根吗? 解决方案 我用过这个,效果很好.以下是该算法如何在高层次上工作的示例. 编辑:我很想知道下面定义的准确程度.这是来自官方来源的 sqrt(2): (前200位)1.41421356237309504880168872420969807856967187537694 ..
发布时间:2021-11-25 20:42:17 Java开发

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

如何在Java中设置千位分隔符? 我有一个 BigDecimal 的字符串表示,我想用千位分隔符格式化并作为字符串返回. 解决方案 这应该有效(未经测试,基于 JavaDoc): DecimalFormat formatter = (DecimalFormat) NumberFormat.getInstance(Locale.US);DecimalFormatSymbols 符号 = ..
发布时间:2021-11-25 20:39:08 Java开发

如何打印格式化的 BigDecimal 值?

我有一个 BigDecimal 字段 amount 代表钱,我需要在浏览器中以类似 $123.00 的格式打印它的值,$15.50,$0.33. 我该怎么做? (我自己看到的唯一简单的解决方案是从 BigDecimal 获取 floatValue,然后使用 NumberFormat 为分数部分). 解决方案 public static String currencyFormat ..
发布时间:2021-11-25 20:37:09 Java开发

BigDecimal 的加法

我想对一些以 BigDecimal 类型表示的货币值进行一些简单的求和. BigDecimal test = new BigDecimal(0);System.out.println(测试);test.add(new BigDecimal(30));System.out.println(测试);test.add(new BigDecimal(45));System.out.println(测试) ..
发布时间:2021-11-25 20:34:55 Java开发

BigDecimal 的对数

如何计算 BigDecimal 的对数?有谁知道我可以使用的任何算法? 到目前为止,我的谷歌搜索提出了一个(无用的)想法,即转换为双精度并使用 Math.log. 我将提供所需答案的准确性. 编辑:任何基地都可以.如果基数 x 更容易,我会这样做. 解决方案 Java Number Cruncher: The Java Programmer's Guide to Nume ..
发布时间:2021-11-25 20:03:07 Java开发

安全字符串到 BigDecimal 的转换

我正在尝试从字符串中读取一些 BigDecimal 值.假设我有这个字符串:“1,000,000,000.999999999999999",我想从中得到一个 BigDecimal.有什么办法呢? 首先,我不喜欢使用字符串替换(替换逗号等)的解决方案.我认为应该有一些简洁的格式化程序来为我完成这项工作. 我发现了一个 DecimalFormatter 类,但是当它通过 double 运行 ..
发布时间:2021-11-25 19:58:56 Java开发

Java:为什么我们应该在现实世界中使用 BigDecimal 而不是 Double?

在处理现实世界的货币价值时,建议我使用 BigDecimal 而不是 Double.但我没有得到令人信服的解释,除了“通常是这样做的". 你能解释一下这个问题吗? 解决方案 这称为精度损失,在处理非常大的数字或非常小的数字时非常明显.带基数的十进制数的二进制表示在许多情况下是近似值而不是绝对值.要了解为什么需要阅读二进制浮点数表示.这是一个链接:http://en.wikipedia ..
发布时间:2021-11-25 19:52:45 Java开发

使用 BigDecimal 处理货币

我试图为使用多头的货币创建自己的类,但显然我应该使用 BigDecimal 代替.有人可以帮我开始吗?将 BigDecimal 用于美元货币的最佳方法是什么,例如将美分设置为至少但不超过 2 个小数位等.BigDecimal 的 API很大,我不知道该使用哪种方法.另外,BigDecimal 有更好的精度,但是如果它通过一个 double 不是全部丢失了吗?如果我使用 new BigDecimal ..
发布时间:2021-11-25 18:07:15 Java开发

C# 中 Java BigDecimal 类的等价物是什么?

BigDecimal 是 java.math 包中的一个类,它对于处理一定规模的大数字有很多好处.c# 中是否有具有此功能的等效类或数据类型. 解决方案 C# 只有 BigInteger 构建了它(在 .NET framework 4 中). decimal 对您的任务是否足够精确?它是一个 128 位的数字,可以保存在 ±1.0 × 10−28 到 ±7.9 × 1028 范围内的 ..
发布时间:2021-11-25 17:54:13 Java开发

用 Java 表示货币价值

我了解 BigDecimal 是在 Java 中表示货币价值的推荐最佳实践.你用什么?有没有您更喜欢使用的更好的库? 解决方案 BigDecimal 一路.我听说有些人创建了他们自己的 Cash 或 Money 类,这些类用货币封装了现金价值,但在皮肤下它仍然是一个 BigDecimal代码>,可能带有 BigDecimal.ROUND_HALF_EVEN 四舍五入. 编辑:正如唐在 ..
发布时间:2021-11-25 16:51:05 Java开发

Double 与 BigDecimal?

我必须计算一些浮点变量,我的同事建议我使用 BigDecimal 而不是 double 因为它会更精确.但我想知道它是什么以及如何充分利用 BigDecimal? 解决方案 BigDecimal 是一种精确的数字表示方式.Double 有一定的精度.使用不同量级的双精度数(比如 d1=1000.0 和 d2=0.001)可能会导致 0.001 在求和为差值时全部丢弃规模如此之大.使用 Bi ..
发布时间:2021-11-25 11:38:18 Java开发

Double 与 BigDecimal?

我必须计算一些浮点变量,我的同事建议我使用 BigDecimal 而不是 double 因为它会更精确.但我想知道它是什么以及如何充分利用 BigDecimal? 解决方案 BigDecimal 是一种精确的数字表示方式.Double 有一定的精度.使用不同量级的双精度数(比如 d1=1000.0 和 d2=0.001)可能会导致 0.001 在求和为差值时全部丢弃规模如此之大.使用 Bi ..
发布时间:2021-11-19 22:49:05 Java开发