问题标签 [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.
java - Javamoney.moneta.Money 序列化/反序列化为 null 尽管我有 jackson-datatype-money 依赖项
我只想提供一个休息端点,用户可以在其中发送金额。我决定第一次使用 javamoney.moneta.Money 并且它在 Postgres 中一直保持为空。
这是模型:
如果相关,这里是连接列的相关模型
及其 AuditModel
存储库
以及暴露端点的 AccountController
这是我如何调用其余端点
这导致在Account
表中创建新记录但Money
列为空
我尝试通过添加jackson-datatype-money来遵循这个建议这是我的POM
如果它增加了一些有用的点,则此单元测试通过
最后,在我认为我做错了什么的地方,在控制器端点上它填充了空值。
java - MonetaryAmount.plus() 用于什么?要将其映射到哪个 Kotlin 运算符?
我正在使用 JSR 354 aka JavaMoney
,但我不明白MonetaryAmount.plus()
应该做什么?
对于MonetaryAmount
我发现的所有实现,它只是返回this
. 该文档对我没有帮助:
这在使用 Kotlin 时有点不幸,它对将运算符plus
映射+
到该函数的函数进行了运算符重载,在这种情况下它应该映射到该函数add
。
这可以修复:
但我不确定应该将plus()
函数映射到哪个运算符?UnaryPlus
?
java - 验证货币代码与允许值之一匹配
我有一个 POJO,其中包含一个名为price
.
该字段的类型是javax.money.MonetaryAmount
,因此我可以从 JSR 354 验证等中受益。
我对该字段有一个约束,指定货币必须是EUR
:
如何指定货币必须是EUR
or USD
?
java - Java Money 奇数除法和四舍五入不损失/获得美分
关于货币计算及其精度,我有一个四舍五入的问题。
我正在使用Java Money (Moneta) libaray 进行所有计算。
我使用将 BigDecimal 值存储在数据库中NUMERIC(19,4)
问题
鉴于我有总金额的购物车EUR 323.99
。我想为这辆购物车提供 3 个月的分期付款,没有利率。
执行此操作时,323.99 / 3
您将获得 Money 表示EUR 108.00
(默认舍入 HALF_EVEN)和 BigDecimal 表示107.9966...667
每月付款107.9967
在数据库中存储为所有 3 笔相等付款的数值。
在发票上,我会显示EUR 108.00
客户的每月付款。
当我收到 的客户付款时EUR 108.00
,我试图将此交易金额分配给未付款项,即内部数字值为 的 Money 107.9967
。在我的查询方面,我想计算并显示此订单的剩余本金余额,但使用这些数字我无法生成准确的小数部分,因为我不允许在这里进行任何手动舍入,否则我会失去精度。
例如,如果我对 3 次付款进行以下计算:
我留下了EUR 0.00
具有内部 BigDecimal 值的 Money 值-0.0001
在计算另一种方式时也会发生同样的情况。最终结果将是正数0.0033
,例如表示为EUR 0.00
,但是当它累积时,第二次将是0.0066
已经四舍五入到 的结果EUR 0.01
,就好像客户会获得 1 美分一样。
问题
是否有任何建议应如何执行或截断或明确舍入此类计算?
我应该如何处理这种价值?实际上,当它是 0.00 时,我不应该关心小数点后 2 位的任何值,但从长远来看,客户交易日志总和将开始从这些计算中累积美分。以某种方式剥离 0.00 之后的所有值并将其完全保留为真正的 0 是否可以?
java - Java Money 获取汇率挂起
我正在尝试使用 java money-api 和 moneta 存储库进行简单的货币转换。
这里 exr.getFactor() 方法给出了给定日期的汇率,但它在一个状态下挂了几个小时。
PF日志在其挂起。
它应该给出过去 X 本地日期从 EUR 到 USD 的汇率。
参考:https ://dzone.com/articles/looking-java-9-money-and (汇率)
java - 无法实例化 DefaultMonetaryConversionsSingletonSpi
我在 Eclipse 中使用 Java 货币 API 将美元转换为欧元,但出现以下错误
提供程序 org.javamoney.moneta.internal.convert.DefaultMonetaryConversionsSingletonSpi 无法实例化
以下是我的 POM 中的代码
以下是完整的错误
json - MonetaryAmount JSR354 / moneta的自定义Json序列化格式,如何正确注册Serializer
你好stackoverflow专家
我有以下具有货币金额的 InvoiceItem 类
我在我的函数中从不同的输入成功生成了这个。
toInvoiceItem 使用带有两个字符串参数的 InvoiceItem 的构造函数。现在我想在创建类后将类作为 JSON 打印回消费者。
但这失败了
我知道我需要一个自定义序列化程序,但我尝试了一天所有可能的方法来制作一个,但我的应用程序根本不会吃注释
如何为org.javamoney.moneta.FastMoney
该类创建一个自定义序列化程序,以便我可以简单地注释所有具有此类的字段,@JsonbTypeSerializer(FastMoneySerializer.class)
例如 Invoice Item
这有可能吗?是否有一些关于我需要如何制作 Serializer 以便它像这样返回 JSON 的文档?
感谢任何指针和/或解决方案我真的被卡住了,找不到关于如何使这些序列化器工作的教程。如果您有一个具有良好文档的图书馆,那也会有所帮助。