bigdecimal相关内容

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 Web开发

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

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

如何打印格式化的 BigDecimal 值?

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

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 Web开发

BigDecimal 的对数

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

安全字符串到 BigDecimal 的转换

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

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

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

使用 BigDecimal 处理货币

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

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 Web开发

用 Java 表示货币价值

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

Double 与 BigDecimal?

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

Double 与 BigDecimal?

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

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

我已经注意到这个构造函数的巨大痛苦(即使在 Stack Overflow 上也是如此).即使文档明确指出,人们也会使用它: 这个构造函数的结果可能有些不可预测http://java.sun.com/javase/6/docs/api/java/math/BigDecimal.html#BigDecimal(double) 我什至看到 JSR-13 是 已批准,并附上建议: 可能被 ..
发布时间:2021-11-15 00:40:09 其他开发

Java BigDecimal可以用逗号代替点吗?

我有一个要分配给BigDecimal的字符串值.当我使用诸如 100.23 之类的数字更新十进制值时,它可以正常工作,但是当我使用诸如 100,23 之类的数字更新十进制值时,该代码将引发异常.为什么会这样? 解决方案 因为您尝试在数字中添加“,". 您可以使用以下代码用逗号来解析数字: NumberFormat.getNumberInstance(Locale.FRANCE). ..
发布时间:2021-05-18 20:11:41 其他开发

使用GSON序列化BigDecimal值

这是我的代码: System.out.println(GSON.toJson(new BigDecimal(10.12))); ,输出为: 10.1199999999999992184029906638897955417633056640625 是否可以限制GSON序列化的BigDecimal值的精度?即我预期的序列化值输出为: 10.11 解决方案 这不是 GSON 问 ..
发布时间:2021-05-13 19:55:56 其他开发

BigDecimal与经纬度有关的问题

我有一个地址域,其中的字段lat和BigDecimal一样长,并且我使用的缩放比例为16.我有这个地址 550 Tremont St,波士顿,MA 02116,美国 其经度和纬度分别为-71.07126540000002和42.3438919 此地址的经度以-71.0712654000000200的形式存储在db中.现在,我需要将保存的经度与任何新请求进行比较,以检查经度是否已经存在 ..
发布时间:2021-04-15 19:27:10 其他开发