问题标签 [java-money]

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 投票
1 回答
2432 浏览

java - Java 9 javax.money.MonetaryAmount (JSR 354):无法将 Pojo 转换为 XML,反之亦然

我正在使用 Rest Api 调用将 Pojo 转换为 XML。

下面是我的代码片段:

TestAccount.java

控制器.java

在浏览器上运行 url 时

http://localhost:8080/api/javaTest

输出:

如您所见,设置时

od.setPaymentAmount(MoneyUtil.of(10.898));

我在 XML 中失去了精度,因为

<number>10.9</number>

还有那些额外的 XML 标签是什么?

此问题仅发生在 MonetaryAmount 字段中,否则代码运行正常。那么,将 MonetaryAmount 字段转换为 Pojo 到 XML 的正确方法是什么,反之亦然,而不会丢失精度。

0 投票
1 回答
950 浏览

java - IntelliJ:如何将 .java 文件的文件夹作为库导入?

这可能是一个愚蠢的问题,但我不知道如何正确地将文件.java文件夹作为库导入到我的 IntelliJ 项目中。

我正在尝试使用从这里下载的 JavaMoney API 。

我知道正常的方式是File > Project Structure > Modules > Dependencies > + JARs or Directories,但总是在列表中添加一个“空库”,在项目视图中无处可见。

有人可以在这里让我走上正确的道路吗?

0 投票
1 回答
729 浏览

api - JSR-354 Money API 准备好用于生产了吗?

现在,我正在研究哪种数据类型适合 Java 8 中的货币/货币。

我遇到了关于货币/货币数据的数据类型和操作的 JSR-354 规范。其 API 的参考实现在这里:https ://github.com/JavaMoney

我尝试通过网络上的示例学习0.9版的 api。这很酷也很容易。但是当我将 api 的版本更新到1.0时,我意识到核心构建器类MonetaryCurrenciesMonetaryAmounts包含MonetaryFunctions货币功能的类已被完全删除,而不是被标记为已弃用

对 API 进行如此巨大的更改是否正常?有没有人在生产中尝试过 JavaMoney Api?

除了表示货币/货币数据之外BigDecimal,您还有什么建议?java.util.Currency

0 投票
1 回答
482 浏览

java - JSR-354 MonetaryAmountFormat 对于除 $、€ 或 £ 以外的其他货币符号不能以两种方式工作

这是我在Moneta 1.1 版中使用的示例代码:

这应该可以工作,因为我正在来回转换同一个对象。除非我做错了什么,并且转换器不是美元、欧元或英镑以外的其他货币的双向转换器。

最后一行崩溃:

如果提供的语言环境不与 $、€ 或 £ 之一相关联,则会发生这种情况。例如,此代码适用于Locale.US,但会崩溃Locale.CHINA以及 with new Locale("pl", "PL")。因此,这不仅是自定义定义Locale的问题,也是静态预定义的问题。

我挖了一点内部包,发现org.javamoney.moneta.internal.format.CurrencyToken.parse(CurrencyToken.java:196)它看起来像:

有什么方法可以使我的上述代码适用于美元、欧元或英镑以外的货币?


我尝试了更多的东西,例如提供 Locale.CANADA 他们也有 $ 作为货币符号,所以它执行没有失败但返回错误的数据

最后一行返回USD而不是CADif-else 对 $ 所做的。我认为它也错误地假设符号 - 货币是一对一的映射。

0 投票
0 回答
425 浏览

java - 使用 Avro 或 Protobuf 处理数据模型中的日期和货币

如何使用 Apache Avro 或 Google Protobuf 在我的数据模型中处理日期货币,你能给我举个例子吗:

  • 如何序列化和读回 Joda 时间日期时间?
  • 如何序列化和读回货币数据时间?

谢谢你,奥斯卡

0 投票
1 回答
572 浏览

java - 如何在 jsr-354 中更改 MonetaryAmount 部门的四舍五入

我将jsr-354 org.javamoney.monetaapi 用于货币。

我需要分钱,例如我想将四舍五入设置为 0.25

所以 100 美元/3 应该是 33.25

默认

结果是 33.3333

是否有一种方法可以为此设置舍入,或者其他解决方案?

0 投票
1 回答
93 浏览

java - jsr354-api 和 jsr354-ri 有什么区别

我想使用 javamoney 库,我在 github 中找到了以下两个库:javamoney/jsr354-api 和 javamoney/jsr354-ri。有什么区别,谢谢。

0 投票
1 回答
365 浏览

java - Java Money - 最小的货币单位

我有一个下游服务(Stripe),它要求我以最小的货币单位(他们的文档中的零十进制货币)发送货币。即收取 1 美元我会发送 { "currency": "USD", amount: 100 } 并收取 ¥100 我会发送 { "currency": "YEN", amount: 100 }

我的上游应用程序不想以这种方式处理货币并希望使用标准货币格式。有没有办法转换javax.money.MonetaryAmount成零十进制货币格式?

还是我必须手动编写转换?

0 投票
0 回答
98 浏览

java - 如何将 ExchangeRateProvider 添加到 javax.money

我编写了一个需要依赖注入的自定义 ExchangeRateProvider。但是对于 java.money,您需要在META-INF/services/javax.money.convert.ExchangeRateProvider下的文件中添加自定义类。普通的 ServiceLoader 不使用依赖注入。

我使用spring,所以我的想法是使用spring上下文进行依赖管理,然后将其添加到java.money上下文中。

有谁知道如何做到这一点?

0 投票
1 回答
2366 浏览

java - Java Money - 特定日期的货币兑换率

我正在尝试获取欧元和美元之间特定日期的汇率。问题是我总是敢于交换日期:LocalDate{year=2016, month=1, dayOfMonth=8}如果我在查询中指定日期并不重要。

这是我的 Maven 依赖项:

源代码:

以及来自 sout 的输出:

谢谢!